MrWaYne schrieb:
Max Payne 2 konnte Spiegelungen problemlos inkl. Rendern der Spielfigur darin (bei CP2077 oder BF5 nur mit RT).
Und aktuell fiel es mir auf bei BF2042 bei Pfützen. Das wäre bei CP2077 ohne RT ebenfalls nicht möglich.
Spiegelungen inklusive Spielfigur konnte auch schon Doom 3 und so manche Spiel davor, die Frage ist nur, welchen Aufwand man dafür im Vorfeld betreibt.
Es gibt für alle Arten von Spiegelungen aktuell - vereinfacht - drei Möglichkeiten:
1. Vorberechnete Spiegelungen als Textur, die über Sichtvektoren ggf. verschoben wird auf der Spiegelnden Fläche. Die Technik ist bereits lange möglich, hat aber den Nachteil, dass die Spiegelung ggf. nicht ganz stimmig in Spiel passt, weil man entweder die Textur zu einfach gerendert hat oder zu komplex und es daher auffällt, dass es eine Textur ist. Auch muss man ggf. mehrere Texturen erstellen. Nachteil ist, dass kein NPCs und Co sichtbar sind und es daher sofort auffällt.
2. Echtzeitberechnete Spiegelung, es wird ein weiteres Rendertarget mit dem Ziel "Textur" aufgemacht, in diesem Fall kann man auch NPCs und Co auf nehmen. Das Problem ist, dass hier quasi noch ein "Frame" berechnet wird in der notwendigen Zielauflösung der Textur. Entsprechend hat man früher dann die Geometrie und Co der Szene stark vereinfacht. Ach hier gilt, dass hier scnell die Immersion gestört werden kann, wenn man die Berechnung zu stark vereinfacht, gleichzeitig kann es aber auch so sein, dass die FPS stark einbrechen, wenn man die Auflösung und Co zu hoch wählt.
3. Screenspace Reflection: Hier wird das fertig gerenderte Bild als Ausgangsbasis für die Spiegelungen verwendet. Gute Qualität und damit ein guter Kompromiss, Nachteil ist, dass nur das gespiegelt werden kann, was auf dem Desktop sichtbar ist. Auch hier wird mit Sichtvektoren gearbeitet, was ggf. die Immersion stören kann.
Gerade bei moderneren Spielen verzichtet man auf 1 und 2 weitgehend, weil hier mit immer komplexeren Szenen es immer schwerer wird, das ganze Effizienz und auch "nicht Immersions störend" zu implementieren. Man greift bei Spiegeln oft noch auf eine Mischung aus 1 und 2 zurück in dem man nur den NPC oder das eigene Modell berechnen lässt und das in die Textur einfügt.
Deswegen beschränkt man sich auf den 3. Weg.
MrWaYne schrieb:
Mir geht es primär darum, dass solche Effekte komplett fehlen ohne RT. -> Warum?
Und das ganze in Kurz: Weil Weg 1 und Weg 2 heute schnell die Immersion stören und als Fremdkörper wahrgenommen werden. Weg 2 wiederum kostet bei gleicher Qualität wie der Rest, schnell deutlich mehr Leistung und ist quasi genau so hungrig wie RT.