Mehrere Depthbuffer
-
Hallo zusammen
Ich arbeite gerade an einer neuen Möglichkeit (zumindest habe ich diese Technik noch nirgends gesehen), um volumetrisches Licht zu simulieren. Folgendes ist meine (Schnaps??)idee:
Ich zeichne die "volumetrischen Lichter" als Geometry (Cone) und animierten Alphamaps in eine separate Textur. Anschliessend weichzeichne ich jene Textur in einem Postrendering Schritt und füge Sie schliesslich mit dem Orginalbild zusammen. Dabei wird allerdings sicherlich das Problem entstehen, dass Lichtkegel, welche sich (aus sicht der Kamera) hinter einem Objekt befinden, dennoch das Objekt überstrahlen werden. Ich müsste also irgendwie beide Depthbuffer benutzen können und zwar folgendermassen:if(Lightmap.depth > Originalmap.depth){
RenderPixel();
Set Originalmap.depth = Lightmap.depth
}Mit anderen Worten, die beiden Compare Operanden für den Depthtest müssen aus jeweils zwei verschiedenen DepthStencilBuffers gelesen werden. Meine Frage ist nun, ist Direct3D9 dazu in der Lage? Falls nicht wie siehts mit Direct3D10 aus?
Mfg Samuel
-
du meinst so wie in alan wake und crysis und riddick und ... ?
-
@rapso
Sieht verdammt geil aus, weisst du, wie die das machen?