Skip to main content

Wat is per-pixelverlichting?

Per-pixelverlichting is een term die wordt gebruikt in computerafbeeldingen om aan te geven dat een driedimensionale (3D) scene de kleur van objecten op een pixel-by-pixelbasis zal bepalen in plaats van op een hoekpunt-op-vertex basis.Het gebruik van per-pixelverlichting in plaats van per-vertex-verlichting creëert meestal een afgewerkte afbeelding of frame met een realistischer en vaak scherper, meer gedefinieerd uiterlijk, vooral wanneer mapping met bump wordt gebruikt.Over het algemeen wordt per-pixelverlichting geïmplementeerd door het gebruik van pixel shaders die een aantal manieren kunnen gebruiken om te berekenen hoe het licht in een scène een bepaald deel van de scène raakt, en welke kleur het resulterende oppervlak zou moeten zijn.In 3D-toepassingen waarin de snelheid van rendering belangrijk is, zoals een dynamische animatie, is het schaduw van per pixel misschien niet praktisch omdat het meerdere passen door een scène kan vereisen of eenvoudig te lang kan duren en een acceptabel frameraat onmogelijk kan maken.

Een van de meest voorkomende vormen van het aanbrengen van licht op een 3D-scène is het gebruik van een methode die bekend staat als per-vertex-verlichting.Deze techniek neemt de hoekpunten van een object mdash;de punten waar de lijnen van een object elkaar ontmoeten mdash;en bepaalt hoe het oppervlak van een object eruit zou moeten zien op die enkele locatie.Wanneer alle hoekpunten in een scène verlichtingsinformatie zijn bevestigd, 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 verlichtingseffecten te bereiken, zoals een phong -hoogtepunt, terwijl een vorm zoals een kubus met slechts zes hoekpunten brede, graded verlichting over de oppervlakken zal hebben,Ongeacht de textuur- of verlichtingspositie.

Daarentegen kan een programma per-pixelverlichting implementeren.Dit gaat om het passeren van elk van de pixels in een rasterde scène en het bepalen van de individuele kleur en verlichting voor elke pixel, ongeacht de nabijheid van een hoekpunt.De resultaten zijn meestal scherpe, nauwkeurige verlichting, vooral met spiegelende effecten.De afweging voor een betere beeldkwaliteit is een langere weergavetijd, omdat elke pixel moet worden verwerkt door een pixel shader, hoewel dit niet altijd een probleem is met 3D -modellering en grafische en weergaveprogramma's die geen bepaalde frameraat hoeven te behouden.

De dramatische effecten van per-pixelverlichting wanneer correct wordt toegepast, kunnen het uiterlijk van een object met ingewikkelde bump-mapping worden toegepast en de kleine details kunnen verloren gaan met per-vertex-verlichting.Procedurele texturen kunnen ook profiteren van een benadering per pixelverlichting.Bovendien vereisen speciale effecten zoals schaduwvolumes het gebruik van per-pixelverlichting, evenals complexe verlichtingsreflecties, deeltjessystemen of zelfs halo's in sommige gevallen.