Weil Du auch bei AO immer mehr Rays zur Abtastung verschiessen musst, als sie dann tatsächlich auch zum gewünschten Effekt beitragen.
Ich glaube, wir reden aneinander vorbei. Meine Aussage war, dass es AO nur dann gratis zur Schattenberechnung dazu gibt, wenn diese im Rahmen einer komplett RT-basierten Beleuchtung erfolgt und du beschreibst gerade selbst, dass für AO weitere Strahlen verschossen werden müss(t)en, wenn man es unabhängig von GI implementiert. Wie können diese zusätzlichen Strahlen "kostenlos" sein?
Das ist richtig, nur wie gesagt setze ich nicht voraus, dass ein AO Algorithmus nur aus Primärstrahlen besteht.
Eine Schattenberechnung besteht aber nur aus Primärstrahlen von der Kamera und Sekundärstrahlen zur Lichtquelle. Wenn du davon ausgehend kostenlos AO via RT implementieren möchtest, hat du keine weiteren Informationen außer diesen Strahlen.
Gugg mal da:
GeForce.com Shadow of the Tomb Raider Ray-Traced Translucent Shadows Interactive Comparison: On vs. Off - Example #003
Links hast Du unterschiedliche Transparenzen inkl. Überlagerung bzw. Akkumulation.
Strange. Ist mir beim spielen nicht einmal aufgefallen und sieht auf dem Bild auch nicht realistisch aus. Das obere Blatt am rechten Busch wirft einen Vollschatten auf das darunter, das rechts-mittige Blatt am linken Busch, dass selbst zur Hälfte verschattet ist, scheint selbst einen gleichmäßigen Halbschatten zu werfen. Ich weiß nicht, ob sie da komplett Faken oder alle Schattenberechnungen bis auf den Boden durchziehen, 50 Prozent aufhellen und dann Akkumulieren, aber das sieht mir nicht nach sauberem RT mit Halbtransparenzen aus. Vielleicht verhindern diese Optimierung auch eine getrennte Farbbehandlung, im Best-Case scheinen sie mit sehr geringer Genauigkeit zu arbeiten (2 Bit statt 3× 8 Bit?). Es gibt auf alle Fälle nur einen Transparentwert pro Blatt, keine diffuse Berechnung der Schattenkanten/Berücksichtigung der Lichtquellengröße oder auch nur des Blattwinkels und sich daraus resultierenden Schattierungsabstufungen bei gleicher Transparenz.
Bei SOTTR wäre in der Tat mehr drin gewesen. Dennoch interessant, wie sich teils die Offscreen- Verschattung auch von dynamischen Objekten auf das Bild auswirkt. Das hat schon was. Nur muss man halt sehr genau drauf achten, wo man nach den Unterschieden sucht...
Die Implementation von BFV ist, wenn man die mit der von Wolfenstein Youngblood vergleicht schlicht ineffizient. Wobei man natürlich berücksichtigen muss, dass die ersten Implementationen mit heißer Nadel und kaum Erfahrung gestrickt wurden.
Verglichen mit Screenspace-Rotz ist RT sicherlich ein Fortschritt. Aber wir hatten vor Screenspace eben schon Stencil-Shadows und Planer Reflections, die auch beliebige Levelgeometrie berücksichtigen konnten und diese wurden bis auf wenige Ausnahmen abgeschafft, weil sie in hoher Qualität zu viel Leistung gefressen haben. Jetzt haben wir ein neues Verfahren, das beliebige Levelgeometrie berücksichtigen kann, aber in mittlerer Qualität verdammt viel Leistung selbst auf Spezial-Hardware frisst. Fortschritt? Die Schatten in SOTTR sehen nicht besser aus als selbst die in Doom 3 und die Boden- und Wandreflektionen in Battlefield 5 erzielen einen geringeren Effekt als die von Alien Isolation.
Wie bereits weiter oben angemerkt ist bei RTRT die Optik nur ein Faktor von vielen, die eine mögliche zukünftige Spieleentwicklung beeinflussen wird. Dies auf einen "simplen Effekt" zu reduzieren, wird den Auswirkungen dieser Rendertechnik nicht im Ansatz gerecht.
Man muss dieser Technik aber auch eine entsprechende Entwicklung zugestehen. Und die oft vorherrschende Einstellung, dass man, lieber garnichts hätte, als schrittweise Verbesserungen kann ich so überhaupt nicht nachvollziehen. Denn demnch hätte es niemals eine Entwicklung in rasterbasierter Berechnung geben können.
Man muss die Entwicklungszeit bei Raytraycing realistisch betrachten: Circa 50 Jahre. Es ist ja nicht so, dass Offline-Renderer unbegrenzt lange brauchen dürfen, Rechenzeit war schon immer kostbar. Aber der große Reiz von Raytraycing, die simple direkte Implementation der handvoll physikalischer Gesetze, die unsere optische Wahrnehmung bestimmen, lässt einfach keinen Raum für Optimierungen ohne das Grundkonzept oder die Qualität zu gefährden. Es gibt nur eine korrekte Umsetzung von Raytraycing und alle "Optimierungen" zielen darauf ab, Reichweite und Tiefe der Berechnung zu reduzieren oder/und die Auflösung möglichst weit zu senken und durch temporale Effekte zu ersetzen. Also genau der gleiche Schlamassel, der uns bei Rasterizern TAA statt SSAA und screenspace statt planer/... eingebracht hat.
Oder Du gehst auf Schwellwertbasis bzw. Raylänge.
Ist ja das schöne am rekursiven Raytracer bzw. Pathtracer, dass dieser, sollte jede weitere Streuung/Strahlenverfolgung keinen großen Beitrag mehr zum Farbwert beitragen, dieser einfach als fertig berechnet gilt und nicht mehr weiter gesamplet wird.
Schwellenwertbasis hilft nur bei multiplen Bounces. In meinem Lampenbeispiel aus der Realität waren es aber so wenige, dass man offensichtlich sehen konnte, dass ein Effekt verbleibt und die Hochrechnung für Gaussmath berücksichtigte sogar nur zwei Bounces. Also das absolute Minimum für Farbübertragung/GI/AO. Der exponentielle Anstieg bei der Echtzeit-Berechnung von Streuungen bricht RT das Genick. 1° Winkelauflösung klingt (für einen Menschen, dessen Auge 1/120° schafft) nach eher wenig und tatsächlich ist es nicht viel, wenn man beispielsweise den Rückschein einer Kontrolltafel im Instrumentenbrett davor physikalisch korrekt raytraycen will. Aber schon das führt auf einer ebenen Fläche zu 180 * 180 = 32.400 Sekundärstrahlen nach dem ersten Bounce und 1.049.760.000 Tertiärstrahlen nach einem zweiten. Für die muss man erst einmal prüfen, ob in dieser Richtung nicht eine helle Lichtquelle liegt, die eben auch bei wenig reflektiven Flächen eine GI-Wirkung erzielen.
Raylänge kann Menge wenigstens etwas reduzieren, wenn man die Skybox komplett ausschließt, aber selbst damit wird man noch lange Kompromisse bei der Qualität gegenüber Rasterizer-Imitaten der Realität machen müssen. Und Battlefield V zeigt bereits heute, dass Längenbegrenzung in vielen Szenarien einfach nicht aufgehen. Sobald irgendwo große Sichtweiten und flache Reflektionen eine Rolle spielen, ist das noch tödlicher als Screenspace-Reflections. In letzteren fehlen nämlich wenigstens nur Objekte, die man nicht direkt sehen und somit auch nicht erwarten kann. Aber wenn in einer Pfütze das hohe Gebäude auf der anderen Seite einfach nicht zu sehen ist, bis ich näher rangehe, ist das eine Grafikverschlechterung.
Schön, dass man hier auch tiefgreifender über die Themen diskutieren kann.
Heftabgabe war gestern, da gönnt sich der Mainboard-Redakteur mal die Zeit, über fachfremde Themen nachzudenken.
.gif)




