manche scheinen nicht zu verstehen das rasterizing unbegrenzt skalierbar ist weil linear
das widerspricht technisch diesem hier:
Das einzige was limitiert ist die cpu deren drawcalls immer größer wird.
wo gibts dann das Limit in Deinen Augen, wieso verliert man beim Rastern technisch gesehen bei einer Verdoppelung der Kernzahl ab ca. 2000 zu 4000 schon 20%+ an Rechenleistung.
Warum scheut man sich bei modernen Grafikkarten, deutlich über die 5000 Cores zu gehen?
Man müsste ja nur 10.000 Cores einbauen und die Grafikkarten wären wieder doppelt so schnell?
Diminishing returns? Parallelisierung?
Dagegen hilft software Entwicklung nur blöd das damit nur dann geld verdient wird. Wenn man was verkauft und das nicht zentral geforscht wird. jedes Studio für sich.
Wenig Kommunikation langsamer Fortschritt.
Deswegen ist das worauf alle so schimpfen in wirklichkeit Gold wert. Die gesamten Forschungsergebnisse und Tests und Praxiserfahrungen, die seit Erscheinen der RTRT Karten stattgefunden haben, haben irre viel bewegt und großes Steigerungspotenzial aufgezeigt.
Allein, wenn man sich die Integration von Spiegelungen bei Battlefield V und Wolfenstein Youngblood ansieht, wird einem klar, dass man innerhalb eines Jahres mal locker durch Software eine Verdreifachung der Leistung von RTRT hingelegt hat.
davon ab raytraycing ist alt die Technik und Konzept ist seit Jahrzehnten bekannt
Ja
das problem ist das raytraycing expotenzial ist
Mit jeden lichtstrahl muss eine getroffene oberfläche reflektiert eine neue drawcalls berechnet werden.
Das potenziert sich was bei imemr größer werdenen auflösung nicht mehr in rohleistung auffangen läst. da das ergebnis quasi unendlich ist.
Also begrenzt man die lichtstrahl anzahl und reflektion dessen
Also wird aus raytraycing pathtraycing (siehe quake 2 rtx demo)
Da vermischst Du was. Das Problem von Raytracing ist die Auflösung. Je mehr Punkte ich primär auf den Bildschirm projeziere, umso mehr Strahlen muss ich zurückverfolgen.
Das Problem beim Rastern ist, dass es ab einem gewissen Komplexitätsgrad der Szene irgendwan unverhältnismäßig langsam wird, wo der Raytracer immernoch linear mit dem üblichen Zeitbudget einfach Bildpunkte abtastet.
Und die Szenen werden heutzutage nunmal eher aufwändiger als einfacher.
Hier Slide 10:
https://userpages.uni-koblenz.de/~cg/ss08/seminarER/Echtzeit-Raytracing_slides.pdf
Ray Tracing:–hoher Basis-Rechenaufwand, aber –Komplexität O(log n) bezüglich Anzahl der Primivite,●Rasterisierung:–Weniger Rechenaufwand pro Primitiv, aber–hat hingegen (ohne Szenegraphen und Culling) Komplexität von O(n)●->Für sehr große Szenen lohnt sich Ray Tracing auch aus Performancegründen
---
Daher gibt es ja auch den hybriden DXR der raytraycing mit rasterizing verbindet.
Ud ist auch derzeit die einzige möglichkeit diese technik einzusetzen.
Eben genau nicht- Man entzieht dem primary ray renderer sehr viel Leistung durch den Hybrid Ansatz. Dieser muss aber rein aus Kompatibilitätsgründen weiter betrieben werden. Spiele müssen aufgrund des Verbreitungspotenzials immer primär fürs Rasterizing optimiert sein.
ich sehe auch die Zukunft in dieser berechnungstechnik zusätzlich zu klassischen rasterbild
Weniger shader arbeit mehr dxr und Effekte.
Ganz falscher Denkansatz, der sich leider in vielen Köpfen eingebrannt hat. Du stellst RT auf eine Stufe mit Effekten! Es ist eine andere Art, den errechneten Farbwert der Szene auf die 2d Ebene des Bildschirms zu übtertragen.
Gpu haben shader für effekte, beleuchtung, schatten und pixel (rgb in 8 und 10bit) Darstellung.
tmu für die polygone (geometrie) und rop fürs raster sowie tensor für denoising und RT für die drawcalls an der cpu zu bündeln.
So fuinktioniert aktuell eine nvidia gpu
Uff- Da wird so viel in einen Topf geworfen...
Erstmal die Definition von Shader- Meint man den Prozessor oder den Code.
Die TMU ist mehr für das Bekleben von Polygonen mit Texturen zuständig, als für die Geometrie. Das wären eher die ehemaligen vertex- shader, die inzwischen in den allgemeinen "Cores" inkludiert sind. Früher gab es da eine fixed- function- Trennung.
Mit den Tensor- Cores kann man viel anstellen. Für was es aber in aktuellen Spiele- Titeln nicht genutzt wird, ist Denoising.
Und die RT Cores sind nicht für die Drawcalls zuständig, sondern für das BVH- Traversal inkl. übergabe des Intersection- Zustandes, der dann wiederum von den Shadern ausgewertet wird.