Lee Monade schrieb:
Ja RT Spiegelungen und RT Beleuchtung schauen gut aus, aber es ist eben kein Gamechanger.
Kommt immer darauf an, welche Spiele man sich ansieht und ob man den direkten Vergleich hat.
Gehen wir mal auf die RT-Spiegelungen: Spiegelungen in der gleichen Qualität sind bei Rasterizer teils mit deutlich höheren Kosten verbunden, als RT und die Spiegelungen sind sogar der Hauptgrund, warum RT in der Form heute überhaupt wirklich "relevant" wurde.
Es gibt für Spiegelungen bei Rasterizer 3 mögliche Arten, die man umsetzten kann und alle haben Sie ihre Nachteile:
Vorberechnete Spiegelungen - Benötigen quasi keine Leistung, können toll aussehen, fehlt jegliche Dynamik und wirken daher oft wie Fremdkörper.
Screenspace Reflections - Benötigen "relativ" wenig Leistung, können toll aussehen, sind weitgehend dynamisch. Zeigen jedoch nur das, wass der Spieler sieht.
Render-to-Target - Benötigen je nach Auslegung "wenig" bis "sehr" viek Leistung. Können toll aussehen (kostet sehr viel Leistung), sind dynamisch, zeigen auch Sachen, die der Spieler nicht sieht.
Vorberechnete Spiegelungen werden heute kaum noch verwendet. Man muss in mehreren Stufen vorberechnen und auch dann ist immer noch etwas rechen Leistung notwendig, da die Texturen passend zum Spieler einberechnet werden müssen. Hier macht die Menge das "Gift" auf die Leistung.
SSR wiederum sind eine relativ gute Lösung für die meisten Fälle, kosten allerdings je nach Aufwand, der betrieben wird, durchaus auch Leistung. Hier wird sich damit beholfen, dass der Screenspace gröber "abgetastet" wird für die Textur, die dann genutzt wird. Was SSR richtig kosten kann: VRAM. Nachteil ist aber halt, das alles außerhalb des Blickwinkels quasi nicht existiert.
Render-to-Target - Hängen von der Auflösung ab und werden deswegen oft auch nur stark vereinfacht umgesetzt, wenn sie denn genutzt werden. Meist wird in besonderen Bereichen mal "eine" so eine Reflexion umgesetzt, weil sie ein Wow-Effekt hat, dann aber meist auch stark vereinfacht, weil man quasi eine "Szene" in der "Szene" rendert mit all den Informationen.
Und genau das ist auch der Punkt, weswegen RT hier in einem gewissen Punkt anfängz rentieren: Dynamische "echtzeit" Spiegelungen können sowohl ohne großen Programmieraufwand und mit nur einem relativ überschaubaren Bedarf an "mehr Leistung" in einen RT-Renderer implementiert werden. So manche RT-Demo mit all den Spiegelungen, würde bei einem normalen Rasterizer überhaupt nicht funktionieren und hätte sogar einen höheren Bedarf an Rechenleistung, als die Szene in RT.
Bei der "Beleuchtung" ist es ähnlich. Globale Beleuchtung lässt sich heute mit Rasterizer zwar gut nachbilden, gleichzeitig muss man bei der dynamischen Beleuchtung die Anzahl der Lichtquellen beschränken, da jede Quelle in den Algorithmus voll eingeht. Das ist auch einer der Gründe, warum selbst in vielen modernen Spielen bestimmte Lichtquellen zwar "leuchten", aber keinen Einfluss auf Schatten oder gar die Lichtstimmung haben. Bei RT kann man auch dieses mal mit relativ wenig aufwand bei der Programmierung jede Lichtquelle mitnehmen und hat am Ende einen überschaubaren Impact auf die Leistung.
Das primäre Problem, weswegen RT aktuell auch teilweise noch sehr viel "Leistung" kostet, ist der Tatsache geschuldet, dass wir entweder Hybrid-Engines haben, die manche Berechnungen "doppelt" ausführen, oder nicht die effizienteste Implementierung gewählt werden kann, weil bestimmte Effekte nicht "on-the-fly" mit berechnet werden, sondern die Effekte noch getrennt implementiert sind.
Lee Monade schrieb:
Ray Tracing auf der einen seite eine der "ältesten" Arten, wie 3D-Grafik am Computer berechnet wird und zu gleich seit der Entwicklung auch das erstrebenswerte Endziel der Berechnung.
Die ersten "kommerziell" erfolgreichen 3D-Spiele sind in ihrer Form Ray Tracer, egal ob jetzt Wolfenstein 3D oder Doom sowie Duke Nukem 3D. Das waren Ray Caster und gehören damit zu den Ray Tracern.
Rasterizer und das, was aktuell noch als Engines genutzt wurden, sind - wenn man es denn sehr genau nimmt - eine Verlegenheitslösung gewesen, weil die Rechenleistung nicht vorhanden war. Ray Tracing hatte bereits in den "80er" quasi die Ausbaustufe erhalten, die man heute versucht zu erreichen. Path Tracing wurde 86 vorgestellt.
Rasterizer sind entstanden, weil sie eine "günstige" und "schnelle" Art des Renderns waren, in dem man den Z-Buffer einführte und entsprechend gegen diese die Sichtbarkeit prüfte. Es war halt damals "schneller" alle Polygone mit den Texturen in einen Raum zu setzen, die vorberechnete Shadow- und Lightmap aufzupflanzen und das ganze dann auszugeben. Nur sind damals bereits Shadow- und Lightmaps per "RT" vorberechnet worden.
Illuisionen von dynamioscher Beleuchtung zu erschaffen, ist dann ein leichtes, weil man mit simplen "Tricks" an Texturen die an roter Lava" einfach aufsteigend schwächere Rotwerte einrechnet. Lichtbolzen? Einfach in der Flugbahn aufhellen. Auswirkungen auf Schatten und Co gab es damals nicht, denn Schatten waren meist Blobs unter der Figur.
Selbst mit der Zeit "dynamischer" schatten, waren diese gerne mal vollkommen "losgelöst" von der eigentliche Beleuchtung und waren immer "da" und immer im selben Winkel und verschwanden selbst dann nicht, wenn sie eigentlich nicht merh zu sehen sein sollten.
Mit vielen Tricks hat man dann angefangen die technischen Limitierungen der Rasterzier zu verschieben, nur dass diese Tricks mit der Zeit auch immer mehr Leistung gekostet haben und mit der Zeit sich sogar Ray-Tracing in Spiele geschlichen haben, ohne dass man es merkt.
SSR sind da so ein Beispiel, die sich auch Ray Tracing-Techniken zu nutzen machen, um die Textur auf die Fläche zu projezieren, die spiegelt. Dynamische Beleuchtung arbeitet bei der Sichtbarkeitsprüfung der Lichtquellen mit RT-Ansätzen. Selbst bei Schatten wird heute teilweise für weitere Verbesserungen verstärkt auf RT-Ansätze zurück geriffen, wenn man die Schatten noch etwas "realistischer" machen will.
Problem an all den Ansätzen ist aber, dass sie immer nur als "ganzes" Wirken. Besonders auffällig ist das an Schatten, die bei keinem Rasterizer wirklich gut berechnet werden, weil keine Engine es hintbekommt vernüftig zwischen "harten" und "weichen" Schatten zu unterscheiden und auch glaubhaft zwischen diesen zu Wechseln oder gar gleichzeitig anzuwenden.
Genauso die "Lichtbrechnung" durch Glas und Co, das sind alles Sachen, die Rasterizer nur aufgrund von Annahmen vornehmen können und die umständlich programmiert werden müssen.
Powl_0 schrieb:
(bzw PT, was letztendlich RT in vollem Ausbau ist).
Es ist eine Art, gibt da noch nen paar. Aber aktuell ist Path Tracing die "effizienteste".
Powl_0 schrieb:
Doch, ist es. Avatar nutzt für die gesamte Beleuchtung (Licht, Schatten, Spiegelungen, AO, etc) RT. Für Karten ohne RT Cores gibt es einen Compute (!) Fallback, der aber trotzdem RT berechnet (mit entsprechend niedriger Qualität).
Nein, dass was du schreibst ist falsch und den Eindruck den die GameStar als auch der techniche Direktor da vermitteln, ist stark verfälschend.
Avtar ist kein "kompletes Ray Tracing" und der besagte "Fallback" ist das zurückfallen auf teilsweise sogar rückständige Rasterizer-Effekte, die in der Form durchaus mindesten 10 Jahre bis 15 Jahre auf den Buckel haben.
Avatar ist eine Hybrideengine, die die Entwicklung seit 2010 bei den einzelnen Grafikeffekte weiter aufgreift und verstärkt auf RayTracing setzt, um die "Genauigkeit" der Effekte zu verbessern und gleichzeitig auch mehr Details mit einzubeziehen. Statt also bei einzelnen Effekten - wie bei modernen rasterizer Titeln üblich - vielleicht mit einem oder zwei Strahlen für einen "Kegel" zu arbeiten, werden mehr Strahlen verwendet um die "Kegel" feiner zu bestimmen.
Komplettes RayTracing sieht aber anders aus.