OpenGL Insights: 1st Edition (Hardback) book cover

OpenGL Insights

1st Edition

Edited by Patrick Cozzi, Christophe Riccio

A K Peters/CRC Press

712 pages

Purchasing Options:$ = USD
Hardback: 9781439893760
pub: 2012-07-23
SAVE ~$19.79
eBook (VitalSource) : 9780429112898
pub: 2012-07-23
from $49.48

FREE Standard Shipping!


Get Real-World Insight from Experienced Professionals in the OpenGL Community

With OpenGL, OpenGL ES, and WebGL, real-time rendering is becoming available everywhere, from AAA games to mobile phones to web pages. Assembling contributions from experienced developers, vendors, researchers, and educators, OpenGL Insights presents real-world techniques for intermediate and advanced OpenGL, OpenGL ES, and WebGL developers.

Go Beyond the Basics

The book thoroughly covers a range of topics, including OpenGL 4.2 and recent extensions. It explains how to optimize for mobile devices, explores the design of WebGL libraries, and discusses OpenGL in the classroom. The contributors also examine asynchronous buffer and texture transfers, performance state tracking, and programmable vertex pulling.

Sharpen Your Skills

Focusing on current and emerging techniques for the OpenGL family of APIs, this book demonstrates the breadth and depth of OpenGL. Readers will gain practical skills to solve problems related to performance, rendering, profiling, framework design, and more.


You don’t need to be an expert (maybe this book helps you to become one) but the basics should be known to you. … A nice plus is the github site with code for most of the chapters. … this book span[s] topics from simple OpenGL feature descriptions up to general rendering algorithms and shows what is possible with OpenGL and its mobile and web-based cousins. … If you are an OpenGL developer, you will definitely find some interesting gems in here …

—, July 2012

Table of Contents

I Discovering

Teaching Computer Graphics Starting with Shader-Based OpenGL

Transitioning Students to Post-Deprecation OpenGL

WebGL for OpenGL Developers

Porting Mobile Apps to WebGL

The GLSL Shader Interfaces

An Introduction to Tessellation Shaders

Procedural Textures in GLSL

OpenGL SC Emulation Based on OpenGL and OpenGL ES

Mixing Graphics and Compute with Multiple GPUs

II Rendering

GPU Tessellation: We Still Have a LOD of Terrain to Cover

Anti-Aliased Volumetric Lines Using Shader-Based Extrusion

2D Shape Rendering by Distance Fields

Efficient Text Rendering in WebGL

Layered Textures Rendering Pipeline

Depth of Field with Bokeh Rendering


III Bending the Pipeline

Real-Time Physically Based Deformation Using Transform Feedback

Hierarchical Depth-Culling and Bounding Box Management on the GPU

Massive Amount of Shadows with Layered Rendering

Programmable Vertex Pulling

Octree-Based Sparse Voxelization Using the GPU Hardware Rasterizer

IV Performance

Performance Tuning for Tile-Based Architectures

Exploring Mobile vs. Desktop OpenGL Performance

Multi-GPU Rendering on NVIDIA Quadro

Improving Performance by Reducing Calls to the Driver

Efficient Layered Fragment Buffer Techniques

Looking at Atomic Counter Boundaries

Indexing Multiple Vertex Arrays

V Transfers

Asynchronous Buffer Transfers

Fermi Asynchronous Texture Transfers

WebGL Models: End-to-End

In-Game Video Capture with Real-Time Texture Compression

An OpenGL Friendly Geometry File Format and its Maya Exporter

VI Debugging and Profiling

The OpenGL Timer Query

A Real-Time Profiling Tool

Browser Graphics Analysis and Optimizations

Performance State Tracking

Monitoring Graphics Memory Usage

ARB_debug_output: A Helping Hand for Desperate Developers

VII Software Design

The ANGLE Project: Implementing OpenGL ES 2.0 on Direct3D

SceneJS: A WebGL-Based Scene Graph Engine

Features and Design Choices in SpiderGL

Multimodal Interactive Simulations on the Web

A Subset Approach to Using OpenGL and OpenGL ES

The Build Syndrome


About the Editors

Patrick Cozzi leads the graphics development of Cesium, an open source WebGL virtual globe for the aerospace, defense, and GIS communities, at Analytical Graphics, Inc. He also teaches GPU programming and architecture at the University of Pennsylvania, where he earned a master’s degree in computer and information science.

Christophe Riccio currently works for AMD and is an active member of the OpenGL community, contributing to OpenGL specifications, developing tools for the official OpenGL SDK, and writing articles at G-Truc Creation. He previously worked at e-on software and Imagination Technologies. He earned a master’s degree in computer game programming from Teesside University.

Subject Categories

BISAC Subject Codes/Headings:
COMPUTERS / Computer Graphics
COMPUTERS / Programming / Games