Game Development Reference
In-Depth Information
Compute
Program
Draw Shading
Ver tex
Shader Storage
Buffer
Primitive
Assembly
Indirect Draw
Buffer
Te s s e l l a t i o n
Shading
Draw
Dispatching
Primitive
Shading
Draw
Element Array
Buffer
Rasterization
Ver tex
Invocation
Fragment
Shading
gl_VertexID
Pixel
Processing
Vertex Program
Vertex Shading
Shader Storage
Buffer
Figure 2.7. Programmable Vertex Pulling Rendering Pipeline.
a draw function is quite expensive on the CPU side, which originally decreased
the interest of the draw indirect functionality.
Fortunately, ARB_multi_draw_indirect ,aversionof AMD_multi_draw_indirect
promoted to the core specification in OpenGL 4.3, extends the draw indirect
functionality by packing multiple draw indirect calls into a single call, amor-
tising the high constant cost of the call [Rakos 12a]. With the new functions
glMultiDrawArraysIndi rect and glMultiDrawElementsIndirect the command pro-
cessor submits the draws in place of the CPU, thus removing nearly all CPU
overhead per draw. (See Listing 2.3 and Figure 2.8. )
 
 
Search Nedrilad ::




Custom Search