Vielen Dank für das viele positive Feedback! Dies motiviert mich natürlich auch in diese Richtung weiter zu forschen.
Ich möchte hiermit auch auf ein paar der gestellten Fragen eingehen.
> was mich intressieren würde ist wie die Physiks Karten im Vergleich zu der Quadcore CPU
> bei solchen Berechnungen abschneiden würde
Getestet habe ich dies nicht und vermutlich wird auch niemand einen Ray-Tracer für diese Karten schreiben. Derzeit sind die Karten nur sehr gering in der Bevölkerung verteilt und eine deutliche Änderung an diesem Zustand ist zumindest derzeit nicht erkennbar. Bei den CPUs kann man dagegen davon ausgehen, dass spätestens in ein paar Jahren auch der Supermarkt-PC mit Quad-Core oder noch mehreren Cores ausgeliefert werden wird. Ansonsten bin ich überzeugt, dass ein Quad-Core bei Ray-Tracing mehr herausholen kann als die derzeitige Physik-Beschleunigerkarte.
> All diese Effekte auf RT zu portieren (wenn überhaupt effizient möglich)
Bisher habe ich noch keinen Effekt gefunden, der nur mit Rasterisierung und nicht mit Ray-Tracing möglich wäre.
Transparenz-Effekte gehen mit Ray-Tracing langsamer. Allerdings werden diese ohnehin oft nur zum Einsparen von Geometrie benutzt: beispielsweise ein Gitter, das über eine teilweise transparente Textur dargestellt wird. Hier wäre es mit Ray-Tracing effizienter das Gitter als echte Geometrie zu modellieren und auf Transparenzen zu verzichten. Dies führt dann auch im Vergleich zu dem zuvor benutzten 2D-Gitter zu einem realistischeren Eindruck der Welt.
Viele Effekte gehen mit Ray-Tracing einfacher zu implementieren. Zudem wird die Verkettung von Effekten automatisch aufgelöst. Beispiel: Eine beleuchtete, rote Glaskugel wirft einen roten Schatten an die Wand. In der Spiegelung der Glaskugel sieht man automatisch diesen roten Schatten. Das Ganze kann dann noch in einer daneben liegenden, komplett spiegelnden Kugel korrekt wieder gespiegelt werden, inklusive aller Effekte. Als Programmierer braucht man sich nicht darum zu kümmern erst den einen Effekt zu berechnen, damit dieser mit wiederum einem anderen Effekt überhaupt noch funktioniert. Dies geht automatisch mit dem Durchlaufen der Strahlen.
> Man kann allerdings an den Algorithmen nicht mehr viel optimieren
Doch kann man. Speziell an den Algorithmen zum Durchlaufen der Beschleunigungsstruktur (BSP-Baum). Auch im Bereich der notwendigen Strahlen bei mehreren Lichtquellen ist noch einiges heraus zu holen.
> Wenn der Programmieraufwand wirklich so viel geringer ist, dann dürfte die Entwicklungszeit von Engines ins Spielen doch drastich abnehmen, oder? Bräuchte man denn dann auch demennsprechend weniger Programmierer?
Entweder weniger Programmierer oder man würde einfach die dazu gewonnene Zeit in weitere Special-Effects stecken. Die Erstellung des Contents braucht natürlich nach wie vor viel Zeit. Wenn auch etwas weniger, da man z.B. als Mapper keine manuellen Blockierungsklötze mehr setzen muss, um die Sichtbarkeit einzuschränken.
Zitat aus meiner Diplomarbeit:
===
Zusätzlich muss der Level-Designer zur Optimierung der Performance Portale für die Sichtbarkeit (so genannte „Vis-Portale“) setzen. Diese werden von der „Quake 4“-Engine auf Sichtbarkeit abgetestet, und nur bei einem positiven Ergebnis wird der dahinter liegende Bereich gezeichnet. In dem Level „Waste Processing Facility“ gibt es 110 solcher Portale, in allen „Quake 4“ beiliegenden Maps sind es insgesamt etwa 3.200, die alle manuell gesetzt werden mussten.
===
> Warum braucht man für die Ausbuchtungen in der Wand 5k Polygone? Würde es nicht genauso ausschauen wenn man für die platte Front große Dreiecke nimmt?
Klar kann man das. Man kommt in einer optimierten Fassung dieser Wand mit etwa gleichem sichtbaren Detailgrad auf ca. 450 Dreiecke. Darum geht es aber nicht, wenn ich den Einfluss der Dreiecke auf die Framerate messe. Ein professioneller 3D-Künstler könnte die 5.000 Dreiecke benutzen und beispielsweise noch mehr sichtbare Details wie echte Einschusslöcher mit Vertiefungen einbauen.
> Wie dreist ihr mein Gothic3 Schatten GIF geklaut habt
Danke für die Datei. Prima Zusammenfassung der Gothic 3 Grafikprobleme. Leider hatte ich auf der Seite damals keine Kontaktadresse gefunden :-).
> habe nen fehler gefunden... das letzte bild ist aber von quake 3
Das Spielermodell ist von Q3. Den Wasser-Shader habe ich aber im Rahmen meiner Diplomarbeit mit Q4RT erstellt, als ich noch keinen Support für die .md5-Dateien implementiert hatte.
> Bloß dass bis du Raytracing nützen kannst, die Rechenleistung eh schon so hoch ist, dass du eh schon fast alles machen kannst - auch ohne Raytracing.
Nur gerade dann wirst du Ray-Tracing nehmen, eben weil es das Leben leichter macht!
> Das Ganze hörten wir 2004 mit Q3 Raytraced auch schon - was ist passiert - nichts aber auch gar nichts für Spieler greifbares.
Hat auch niemand behauptet, dass das bis heute für Spieler greifbar sein wird.
Von der Hardwareseite hat sich logischerweise vieles getan. Auch im Bereich der Algorithmen gibt es deutliche Fortschritte. In Q3RT kamen meistens nur 1-2 dynamischen Lichtquellen zum Einsatz. In Q4RT haben die Maps an die 400 dynamischen Lichtquellen mit akzeptablen Kosten. Weitere Features stehen in der Liste auf q4rt.de.
> wie funktioniert das wenn das Objekt matt ist?
Das ist der Fall bei dem roten Dreieck in der Erklärung zum Algorithmus. Es wird einfach ein Farbwert im Shader berechnet, der beispielsweise aus einer Textur kommt.
Danke für das viele Feedback!
Best regards,
Daniel Pohl