IT-lexicon › Programmeren › Shadow volume

Shadow volume

Programmeren Svenska → Bijgewerkt: 2026-10-24

Schaduw als geometrie: de silhouetranden van een object worden van het licht af tot gesloten volumes uitgetrokken en met de stencilbuffer wordt geteld welke pixels erin vallen.

Frank Crow beschreef de methode in 1977. Men zoekt de silhouetranden van een object gezien vanuit het licht, trekt ze tot in het oneindige uit zodat er een volume ontstaat, en rendert dat tegen de stencilbuffer: elke keer dat de straal naar een pixel een volume binnengaat telt men op, elke keer dat hij eruit komt af. Is de uitkomst niet nul, dan ligt de pixel in de schaduw. Het resultaat is messcherpe, pixelexacte schaduw zonder afhankelijkheid van resolutie.

De naïeve versie ging mis als de camera zelf in een volume stond. John Carmacks "depth-fail"-truc (ook onafhankelijk door anderen bedacht) telde in plaats daarvan tegen het verre vlak en loste dat op; de techniek droeg Doom 3 (2004). Maar de kosten in fill rate zijn enorm en de geometrie moet gesloten zijn, dus won shadow mapping uiteindelijk op pure goedkoopheid.

← Terug naar het lexicon