
Improving Performance by
Reducing Calls to the Driver
S
´
ebastien Hillaire
25.1 Introduction
Rendering a scene can involve several rendering passes such as shadow map construc-
tion, light contribution accumulation, and framebuffer postprocessing. OpenGL is
a state machine, and each of these passes requires changing state several times. Ren-
dering requires two main steps:
1. Modify OpenGL states and objects in order to set up the assets used for ren-
dering.
2. Issue a draw call to draw triangles and effectively change some pixel values.
These two steps require multiple calls to the driver. The driver is responsible for
translating these function calls ...