da ja sonst niemand an einer Lösung interessiert zu sein schein machen wirs gleich mal in Deutsch^^
Um Klarheit zu schaffen: du willst die Vertex-Position in Worldspace anhand von der Tiefe ermitteln?
Das hab ich schon in meiner Wavefield Demo verwendet, sollte also kein Prob sein...
Erstmal muss klar sein, dass es einen Unterschied zwischen "Depth" und dem "Distance to View" Term gibt. "Depth" erhält man aus dem .z oder .w Wert der Vertexposition im WorldViewProj-Raum. Den anderen hingegen aus der Länge vom Vektor der von der ViewPos in Worldspace auf die VertexPos in Worldspace zeigt.
Der "Depth"-Wert ist eher als Vektor zu verstehen, der vom entsprechenden Pixel des Views und nicht vom Zentrum auf das Vertex zeigt. Guckst du also senkrecht auf eine glatte Fläche haben die Depth-werte aller gerenderten Pixel den gleichen Wert, im Gegensatz zu den Distance-Werten.
Also rekonstruierst du die WorldPos nicht vom Depth sondern vom Distance-Wert(folgend nurnoch "DWert").
Dazu renderst du also den DWert der Szene in ein RT des Formates 14 oder in einen einzelnen Kanal eines 14444-RTs (wenn du die anderen Kanäle ebenfalls benötigst). Ich hab in meinem Fall für den Richtungswert einfach ein zweites View mit gleichen Winkelwerten wie der Kamera verwendet (Pos ist egal), welches ausschließlich eine Box rendert indem es sich befindet. Der Box gibst du dann ein Material welches die normalisierte Variante vom DWert zu den 8 Vertices enthält, also die Richtung. Das Ergebnis renderst du in einen Kanal vom Format 12 oder eben 12222(14 ist an der Stelle glaube nicht nötig).
Im PP-Effekt kannst du dann die WorldPos rekonstruieren indem du einfach folgendes machst: WorldPos=ViewWPos+Richtung*DWert;
Du folgst also von der View-Position aus der Richtung über die entsprechende Distanz.
Dannach kannst du dann bei Bedarf auch Depth per Multiplikation von WorldPos mit matWorldViewProj ermitteln.
Mit diesem Vorgehen kann man einige MRT-Kanäle sparen, was durchaus essenziell sein kann.
MfG.
...hoffe das war was du wolltest^^