IT-lexicon › Programmeren › Indirect draw

Indirect draw

Programmeren Svenska → Bijgewerkt: 2026-10-25

Een draw call waarvan het aantal vertices, het aantal instances en de offsets uit een GPU-buffer komen in plaats van van de CPU, zodat de GPU zelf bepaalt wat er getekend wordt.

Een gewone draw call krijgt zijn parameters (hoeveel vertices, hoeveel instances, waar in de buffer ze staan) rechtstreeks van de CPU. Een indirecte aanroep wijst in plaats daarvan naar een kleine buffer in GPU-geheugen met precies die getallen. OpenGL kreeg glDrawArraysIndirect in versie 4.0 (2010) en de multivariant glMultiDrawIndirect in 4.3; Vulkan kent vkCmdDrawIndirect en Direct3D ExecuteIndirect.

Het voordeel is dat de CPU niet meer hoeft te weten hoeveel objecten zichtbaar bleven. Een eerdere GPU-pass kan afgeschermde geometrie wegfilteren, de lijst comprimeren en het aantal schrijven, zonder heen en weer te hoeven naar de processor. De multi-draw-vorm gaat verder: één buffer beschrijft duizenden verschillende draws in één aanroep. Het is de sluitsteen van GPU-gedreven rendering.

← Terug naar het lexicon