Wat is per-pixel verlichting?
"Verlichting per pixel" is een term die in computerafbeeldingen wordt gebruikt om aan te geven dat een driedimensionale (3D) scène de kleur van objecten per pixel bepaalt in plaats van per hoekpunt. Het gebruik van verlichting per pixel in plaats van verlichting per hoek creëert meestal een afgewerkt beeld of frame met een realistischer en vaak scherper, meer gedefinieerd uiterlijk, vooral wanneer bumpmapping wordt gebruikt. Over het algemeen wordt belichting per pixel geïmplementeerd door het gebruik van pixelschaduwen die op een aantal manieren kunnen berekenen hoe het licht in een scène een bepaald gebied van de scène raakt en welke kleur het resulterende oppervlak moet hebben. In 3D-toepassingen waarin de snelheid van weergave belangrijk is, zoals een dynamische animatie, is arcering per pixel mogelijk niet praktisch omdat het meerdere passages door een scène kan vereisen of gewoon te lang kan duren en een acceptabele framerate onmogelijk kan maken.
Een van de meest voorkomende vormen van het toepassen van licht op een 3D-scène is het gebruik van een methode die bekend staat als per-hoekpuntverlichting. Deze techniek neemt de hoekpunten van een object - de punten waar de lijnen van een object elkaar ontmoeten - en bepaalt hoe het oppervlak van een object eruit zou moeten zien op die enkele locatie. Wanneer aan alle hoekpunten in een scène verlichtingsinformatie is gekoppeld, gebruikt de renderer interpolatie of andere soorten algoritmen om het uiterlijk van het oppervlak van het object tussen de hoekpunten te schatten. Dit resulteert in het algemeen in gebieden die afhankelijk zijn van een hoge dichtheid van hoekpunten in een object om scherpe lichteffecten te bereiken, zoals een phong-hoogtepunt, terwijl een vorm zoals een kubus met slechts zes hoekpunten brede, graduele verlichting over de oppervlakken zal hebben, ongeacht de textuur of verlichtingspositie.
Een programma daarentegen kan verlichting per pixel implementeren. Dit omvat het passeren van elk van de pixels in een gerasterde scène en het bepalen van de individuele kleur en belichting voor elke pixel, ongeacht de nabijheid tot een hoekpunt. De resultaten zijn meestal scherpe, nauwkeurige verlichting, vooral met spiegelende effecten. Het compromis voor een betere beeldkwaliteit is een langere weergavetijd, omdat elke pixel door een pixel shader moet worden verwerkt, hoewel dit niet altijd een probleem is met 3D-modellering en grafische afbeeldingen en weergaveprogramma's die geen bepaalde framerate hoeven te behouden.
De dramatische effecten van belichting per pixel wanneer correct toegepast, kunnen het uiterlijk van een object waarop ingewikkelde bumpmapping is toegepast, verbeteren en de minuscule details kunnen verloren gaan bij belichting per vertex. Procedurele structuren kunnen ook profiteren van een per-pixel verlichtingsbenadering. Bovendien vereisen speciale effecten zoals schaduwvolumes het gebruik van per-pixel verlichting, net als complexe lichtreflecties, deeltjessystemen of zelfs halo's in sommige gevallen.