PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shader/Lighting-Passes?


TheLord
2007-11-17, 16:13:25
Hey,
ich war gerade auf vr-zone am lesen und bin da über einen Artikel gestolpert, der wiederholt von shader passes/lighting passes spricht. Nun, ich verstehe nicht ganz, was genau das ist. Google half mir leider nicht weiter, ich hoffe, ihr könnt es. :)
Bitte mit möglichst wenigen Vereinfachungen, ich werd mich schon durcharbeiten. Danke im Vorraus.

Gast
2007-11-17, 16:34:28
ein pass ist ein renderdurchgang. dabei bekommt die grafikkarte für einen pixel alle möglichen anweisungen zur berechnung und schreibt es anschließend in den framebuffer (bzw. ein anderes rendertarget)

die anzahl der möglichen anweisungen sind je nach shader-version limitiert, wobei hier auch noch zwischen arithmetischen und texturanweisungen unterschieden wird. wichtig ist vor allem dass das pixel am schluss immer im rendertarget landet. wenn in einem pass nicht alle nötigen berechnungen für ein pixel durchgeführt werden können muss dieses erneut aus dem rendertarget geladen werden und es kann dann weitergerechnet werden.
dieser vorgang kostet natürlich cpu-leistung und bandbreite zum VRAM.
weiters kann auch die qualität leiden, da im rendertarget meistens nur 8bit/kanal zur verfügung stehen (bei neueren spielen wird auch oft mit FP16-rendertargets gerechnet) im gegensatz zu den FP16/32 die chipintern verwendet werden.

SM2x ist aus heutiger sicht relativ beschränkt wodurch bei komplexeren effekten oftmals multipass-rendering durchgeführt werden muss. SM3 ist dagegen schon stark erweitert, so dass man praktisch alles in einem pass rendern kann