Bindless Oriented Graphics Programming
Overview
GPU Driven Rendering
for (Draw& drawData : allDrawsForThisRenderPass) { context. BindVertexAndIndexBuffers (drawData.geometry); context. WriteConstants (drawData.constants); context. BindConstantBuffer (drawData.constantBuffer); context. BindTextures (drawData.textures); context. Draw (); }
BindGlobalBufferOfConstants (); for (Draw& drawData : allDrawsForThisRenderPass) { context. BindVertexAndIndexBuffers (drawData.geometry); context. WriteConstants (drawData.constants); context. BindConstantBuffer (drawData.constantBuffer); context. BindTextures (drawData.textures); context. Draw (); }
MyConstants constantsForThisDraw = myBuffer. Load
BindGlobalBufferOfConstants (); BindGlobalVirtualTextures (); for (Draw& drawData : allDrawsForThisRenderPass) { context. BindVertexAndIndexBuffers (drawData.geometry); context. BindTextures (drawData.textures); context. Draw (); }
... continue reading