OpenGL Insights

OpenGL Insights

Published:
Content:
Editor(s):
Free Standard Shipping

Purchasing Options

Hardback
ISBN 9781439893760
Cat# K14190

$83.95

$67.16

SAVE 20%


eBook (VitalSource)
ISBN 9781439893777
Cat# KE14983

$83.95

$58.77

SAVE 30%


eBook Rentals

Other eBook Options:
 

Features

  • Covers intermediate and advanced techniques using OpenGL, OpenGL ES, and WebGL
  • Discusses mobile performance and streaming vertex buffers and textures
  • Presents rendering techniques, including shadows, tessellation, depth of field, and procedural shading
  • Describes framework design, including ANGLE, SceneJS, and SpiderGL
  • Provides an exhaustive OpenGL pipeline diagram and useful tips
  • Offers source code, demos, and other material on the book’s website
Watch Patrick Cozzi and Christophe Riccio discuss the book.

Summary

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.

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
ShadowProxies

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

Index

Editor Bio(s)

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.

Editorial Reviews

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 …
—RenderingPipeline.com, July 2012