Raytracing in Spielen noch lange Zukunftsmusik oder wann wird es soweit sein?

Ist bekannt wie viel mal schneller ein fermi im vergleich zum I7 ist?
weil dann kann man in etwa sagen wie viele fermis dafür nötig wären!
aber selbst wenn der 100x schneller wär dann bräucht man ja nur 34 stück um so schnell zu sein wie der megapc von avantar vorausgesetzt da wahren nun nur i7 drin.
nun müßte man aber auch wissen wie lange die brauchten um den ganzen film zu berechnen und muß dann umrechnen wie viel fermis das dann in echtzeit packen lol
Dann frage ich mich auch wie groß muß der vram sein?
Ich glaube ich werde lieber mönch da pflücke ich blumen und saufe bier muß das hirn nicht soviel rechnen :d
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ist bekannt wie viel mal schneller ein fermi im vergleich zum I7 ist?
weil dann kann man in etwa sagen wie viele fermis dafür nötig wären!
aber selbst wenn der 100x schneller wär dann bräucht man ja nur 34 stück um so schnell zu sein wie der megapc von avantar vorausgesetzt da wahren nun nur i7 drin.
nun müßte man aber auch wissen wie lange die brauchten um den ganzen film zu berechnen und muß dann umrechnen wie viel fermis das dann in echtzeit packen lol
Dann frage ich mich auch wie groß muß der vram sein?
Ich glaube ich werde lieber mönch da pflücke ich blumen und saufe bier muß das hirn nicht soviel rechnen :d

Wo musst du denn hier viel rechnen :hmm: Vielleicht magst du mal ein Gespräch mit meinen Fouriertransformationen führen :d Ich habe in Erinnerung, dass ein i7 irgendwo bei ~100 GFLOPS liegt. Hemlock z.B. wäre, gesetzt den Fall, der Wert stimmt einigermaßen, fast 50x so schnell (in der Theorie, wohlgemerkt).
 
Die Frage ist brauchts die separate Physik Engine überhaupt noch


Oder kann ich mit der Strahlenverfolgung(Raytracing) abprallen von Strahlen und umlenken nicht auch ein Physikmodell erstellen,was den Engines von heute ebenbürtig ist

Nein, das wird wohl so nicht gehen...

Vereinfacht lässt sich das ganze anhand von Standbildern erklären.
Stell dir ne Mauer vor, und einen harten Gegenstand der im Anflug auf die Mauer ist.
Auf diesem Bild lässte sich über die Strahlenproblematik realistisch eine Lichberechnung sowie eine Oberflächenspieglung usw. erzeugen. Soweit klar.
Aber trifft der Gegenstand auf die Mauer hast du überhaupt nix an Daten die dir sagen, wo welche Partikel hinfliegen müssen...
Sprich in welche Richtung die Mauer zerfledert oder der Gegenstand usw.
Wo die Partikel hinfliegen müssen und wie sie sich aufteilen...

Um wieder auf das Standbild zu kommen, stell dir vor der Gegenstand ist gerade in die Mauer eingeschlagen. Realistisch gesehen müsste jetzt entgegen der Flugrichtung des Gegenstands irgendwelche Splitter der Mauer beispielsweise fliegen.
Aber woher soll das der Raytracer wissen?

Wenn man so will brauchst du vor dem absenden der Strahlen jemanden der die einzelnen Objekte im Bild platziert. Erst dann kannst die Strahlen losschicken um deren Reflektion/Licht/Schattenverhalten auszugeben.


Wenn es natürlich um reine Lichtberechnung beispielsweise gehen würde, also du hast beispielsweise ne löcherdurchzogene Mauer und setzt ne Lichtquelle auf diese Mauer an, dann brauchst du keine Physikberechnung um realistischen Schatten werfen zu lassen. Aber das ist auch nicht die Aufgabe von Physikberechnungen. Sondern viel eher das Verhalten von Gegenständen in Bewegung...
Ebenso kann sich ein Gegenstand beispielsweise auf ner Kreisförmigen Bahn bewegen, Strahlen hingegen sind immer Gradlinig. Wenn man mal die Rellativitäts Theorie außen vor lässt. Denn im Grunde wird ja auch ein Lichtstrahl gekrümmt wenn er an einer großen Masse vorbei fliegt (durch dessen Schwerkraft)

Wobei dieses Verhalten wohl dann auch wieder ein Part für die Physikberechnung wäre :fresse:
Um jetzt mal den Physiker raushängen zu lassen, Raytracing ist also recht ungenau, weil eben die Strahlen immer exakt gradlinig abgesendet werden... :fresse:



Der Vorteil auf dem PC ist, wir haben hier PC Monitore mit ner Auflösung von 1920x1200 oder vllt auch 25xx x 16xx.
Sprich wir haben da gerade mal rund 2500 Bildpunkte in der Breite und 1600 in der Höhe.
In der Realität haben wir aber Millionen von Atomen/Teilchen dicht nebeneinander, und theoretisch könnte nach jedem Atom ne Bruchstelle entstehen...
Wir betreiben also auch mit Physikberechnung nur Annäherungsweise eine Berechnung, die wenn man so will nie echt realitätsgeträu sein kann ;)
Sprich steigern wir die Auflösung nicht noch erheblich weiter (was wohl aber auf jedenfall so sein wird) könnten wir irgendwann mit der nötigen Rechenleistung Strahlenberechnungen ausführen wo jedem Bildpunkt genau ein Strahl zugrunde liegt.
Das wäre dann das Optimum was an Raytracing rauszuholen ist mit der Auflösung...
 
Zuletzt bearbeitet:
War ja nur spaß ;-)
Grund wäre eigentlich nur das bier beim mönch sein :d
Ne im ernst wenn man sich das aber so vor augen hält und man ausgeht das da nun wirklich nur i7 drin sind dann ist das noch immer ein solche krasser leistungsbedarf um ein bild zu erzeugen welches echt wirkt das ich mir kaum vorstellen kann das es in den nächsten 50jahren was wird!
überleg mal wie schnell dann ne GPU sein muß!

Was mir auch grade noch eingefallen ist hatte da was gelesen das man dann auch treiberunabhängig ist da es im prinzip egal welches game immer die gleiche engine ist also raytracing halt spiele profile ade
 
Zuletzt bearbeitet:
@fdsonne
Hab da mal ne Skizze gemacht um es zu Verdeutlichen;)
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    29,3 KB · Aufrufe: 43
Zuletzt bearbeitet:
@fdsonne
Hab da mal ne Skizze gemacht um es zu Verdeutlichen;)

jup genauso!
indem man den objekten einfach die daten gibt und die wand z.b. beton verhälts sich dann immer gleich da ja durch masse und geschwindigkeit die power da ist und der beton verhält sich immer gleich egal welches game vorausgesetzt die hersteller halten sich an daten die in einer datenbank liegen und nicht an ihren fantasie daten
 
Zuletzt bearbeitet:
jup genauso!
indem man den objekten einfach die daten gibt und die wand z.b. beton verhälts sich dann immer gleich da ja durch masse und geschwindigkeit die power da ist und der beton verhält sich immer gleich egal welches game!

das dann aber keine echte physik, fehlt ja noch G und so.
 
Um das jetzt richtig zu verstehen...

Du setzt Objekt A in Bewegung und dieses trifft auf Objekt B?
Oder wie meinst das jetzt genau?
 
das dann aber keine echte physik, fehlt ja noch G und so.
ja gut das schon aber war ja nur als verdeutlichung wie das damals beschrieben war!
Wie geil wohl dann in einem GTR so ein autocrash kommen würde :d
Oder mit absicht vom 6ten gang@ vollgas in rally gang und plup kolben durch die haube :d
 
Zuletzt bearbeitet:
Um das jetzt richtig zu verstehen...

Du setzt Objekt A in Bewegung und dieses trifft auf Objekt B?
Oder wie meinst das jetzt genau?


Nein der Raytracingstrahl gibt lediglich die Richtung der Krafteinwirkung vor das Objekt A kann auch ein stationärer Gegenstand sein von dem ein Objekt abgefeuert wird
 
Zuletzt bearbeitet:
Nein der Raytracingstrahl gibt lediglich die Richtung der Krafteinwirkung vor das Objekt A kann auch ein Stationärer Gegenstand sein von dem ein Objekt abgefeuert wird

OK, aber denken wir mal weiter, du feuerst von Objekt ja in Strahlenrichtung auf Objekt B.
Woher soll der Raytracer wissen wie sich Objekt B verhalten muss beim Aufprall?

Schießt du ne schwere Titankugel auf ne dünne Betonwand wird wohl die Betonwand zerfledert werden.
Schießt du ne Hartplastekugel auf ne Betonwand, wird wohl eher die Plastekugel zerbersten.
Und noch weiter gedacht, je nach Objektgeschwindigkeit ist der Aufpralleffekt verschieden. Schlimmer noch, idR ist jeder Aufprall sogar einzigartig, sprich jeder Aufprall sieht anders aus.
Mit Strahlenberechnung wäre aber jedes Auftreffen immer das gleiche. Sprich wir würden unabhängig vom Material immer den gleichen Effekt sehen müssen...

Wie gesagt, annähernd physikalisch korrekte Lichtverhalten lassen sich mit Raytracing berechnen, aber annähernd physikalisch korrekte Bewegungen von Gegenständen nicht wirklich. Ein Grund ist wie oben schon erwähnt die Tatsache, das Gegenstände sich nicht linear bewegen, die Strahlen hingegen linear verlaufen ;)
 
Zuletzt bearbeitet:
@Haro
Man weiss ja nicht welche Abkürzungen du hier im Thread verwendest.

Abgesehen davon gibt es Formeln für die Gravitation,die der Rechner aufgrund des Objektes verwenden kann
 
Zuletzt bearbeitet:
doch das es geschwindigkeit nicht sein kann sollt klar sein :P

das ist ja v :fresse:

v von velocity. Si ist englisch genormt, auch wenn die englischsprachigen Industriestaaten die letzten sind die umsatteln...


So, nun aber genug OT und Klugscheißerei.
 
wieso sollte der aufwand bei mehr strahlen nicht proportional steigen? die strahlen haben untereinander nichts zu tun (oder??), dh. für mich proportionalität von anzahl und rechenzeit. wenn ein weiterer strahl alle vorherigen beeinflussen würde, oder ein weiterer strahl leichter berechnet werden könnte weil bereits nutzbare daten der vorgänger vorhanden sind, dann wäre das verhalten nicht linear proportional, sondern wahscheinlich exponentiell.
 
wieso sollte der aufwand bei mehr strahlen nicht proportional steigen? die strahlen haben untereinander nichts zu tun (oder??), dh. für mich proportionalität von anzahl und rechenzeit. wenn ein weiterer strahl alle vorherigen beeinflussen würde, oder ein weiterer strahl leichter berechnet werden könnte weil bereits nutzbare daten der vorgänger vorhanden sind, dann wäre das verhalten nicht linear proportional, sondern wahscheinlich exponentiell.

Letzerer Fall hätte eher logarithmische Komplexität :)
 
Letzerer Fall hätte eher logarithmische Komplexität

Weil wir gerade davon sprechen.
Die Abläufe eines Raytracing können natürlich wesentlich durch Algorithmen optimiert werden.

Warum soll z.B.: ein Strahl aus Sicht des Spielers prüfen, was für den Spieler sichtbar ist, wenn ein Objekt z.B.: vollständig hinter einem anderen Objekt liegt.

Man könnte also eine Vielzahl von verdeckten Objekten bei der Prüfung ausschließen und dadurch die Renderzeit stark verkürzen.
Ein für den Spieler "unsichtbares" Objekt braucht keine Schatten, keine Spiegelung, usw.

In Innenleveln sehr gut zu realisieren. In großen Außenbereichen wie Crysis würde es natürlich wesentlich weniger Einsparungen bringen.
 
Zuletzt bearbeitet:
Weil wir gerade davon sprechen.
Die Abläufe eines Raytracing können natürlich wesentlich durch Algorithmen optimiert werden.

Warum soll z.B.: ein Strahl aus Sicht des Spielers prüfen, was für den Spieler sichtbar ist, wenn ein Objekt z.B.: vollständig hinter einem anderen Objekt liegt.

Man könnte also eine Vielzahl von verdeckten Objekten bei der Prüfung ausschließen und dadurch die Renderzeit stark verkürzen.
Ein für den Spieler "unsichtbares" Objekt braucht keine Schatten, keine Spiegelung, usw.

In Innenleveln sehr gut zu realisieren. In großen Außenbereichen wie Crysis würde es natürlich wesentlich weniger Einsparungen bringen.

Das gibt es bei normaler grafik schon seit der Kyro , verdeckte objekte werden nicht gerendert, bei ATI seit der ersten Radeon und bei NV seit GF3. Also denk ich würde man sowas auch bei Raytray benutzen , also sowas wie Z prüfung.
 
Weil wir gerade davon sprechen.
Die Abläufe eines Raytracing können natürlich wesentlich durch Algorithmen optimiert werden.

Warum soll z.B.: ein Strahl aus Sicht des Spielers prüfen, was für den Spieler sichtbar ist, wenn ein Objekt z.B.: vollständig hinter einem anderen Objekt liegt.

Man könnte also eine Vielzahl von verdeckten Objekten bei der Prüfung ausschließen und dadurch die Renderzeit stark verkürzen.
Ein für den Spieler "unsichtbares" Objekt braucht keine Schatten, keine Spiegelung, usw.

In Innenleveln sehr gut zu realisieren. In großen Außenbereichen wie Crysis würde es natürlich wesentlich weniger Einsparungen bringen.

Nicht sichtbare Objekte fallen beim Raytracing eh raus, da dann der Strahl der vom Sichtfeld entsannt wird nicht bei ihnen ankommt. Würde er ankommen können, könnte ich das Objekt auch in irendeiner weise sehen und sei es als Spiegelung. Wenn ich solche Objekte die sich Spiegeln aus der Darstellung rausnehme um Rechenleistung zu sparen schwindet auch ein Großteil des optischen Vorteils gegenüber der Rastergrafik, in der sich widerspiegelde Objekte ab einem gewissen grad nur mit hohem Rechenaufwand realisieren lassen.
 
Man könnte also eine Vielzahl von verdeckten Objekten bei der Prüfung ausschließen und dadurch die Renderzeit stark verkürzen.
Ein für den Spieler "unsichtbares" Objekt braucht keine Schatten, keine Spiegelung, usw.

Das ist nicht mal gesagt. Ein Objekt, daß hinter einem anderen liegt, kann dennoch einen Schatten werfen oder sich in einem anderen Objekt spiegeln.

Im Gegenteil: Eine solche Prüfung muss garnicht stattfinden, da eh nur beachtet wird, was das Licht auch in die Kamera wirft, sodaß Elemente, die nicht angestrahlt werden können, auch nicht berechnet werden, weil sie faktisch nicht existieren.

edit>
Zu langsam
 
Zuletzt bearbeitet:
Sag das nicht. Ich denke da nur grad an einen Wald. Man könnte sehr detaillierte Baummodelle haben, selbst bei der Sicht von einem Berg wird in der Ferne der Detailgrad durch die Pixelanzahl limitiert, näher dran verdecken die oberen Äste und Blätter das untere Strauchwerk.
Dünne Vegetation, also Steppenlandschaften wie in FarCry2, profitieren wohl am wenigsten vom Raytracing (trotzdem haben die Saarbrücker erfolgreich mal ein Teppichfliegerspiel mit Raytracing realisiert, welches sehr flüssig lief, auch auf ihrer alten SaarCor-Demohardware).

RT hat Zukunft, nur Manipulationseffekte auf Texturen die momentan möglich sind, werden in RT nicht so einfach zu realisieren sein.
Dafür muss dann wirklich der Programmieraufwand erhöht werden. Ein weiterer Nachteil ist, dass für eine realistische Darstellung "weiche" Lichtquellen notwendig sind, und diese sind nicht so einfach zu berechnen. Beispiel: Eine Leuchtstoffröhre liefert über eine Breit von sagen wir mal 30cm eine fast einheitliche Lichtausbeute, kann also entsprechende Schatten werfen. In einer normalen Büro-Deckenleuchte sind 4 davon enthalten, in einem Büro sagen wir mal 8 Deckenleuchten.

Macht 32 längliche Lichtquellen, die die Komplexität des Schattenwurfs gewaltig erhöhen. Dazu kommt noch die globale Illumination durch die Fenster.
Punktförmige Lichtquellen sind im RT ja kein Problem, aber korrekte Berechnung von länglichen Lichtquellen erfordert haufenweise Strahlen, und das kostet Zeit.
Harte, objektgenaue Schatten kann man einfach schaffen. Weiche und dennoch korrekte Schatten - das ist die Kunst.
 
Einfache Abfrage über "z" funktioniert beim Raytracing nicht, dort müsste man feststellen ob ein beliebiger Strahl aus Spielersicht das betreffende Objekt trifft, was ja z.B.: durch eine Spiegelung durchaus möglich ist.


Edit:
Weiche und dennoch korrekte Schatten - das ist die Kunst.

Und macht damit die Darstellung um 1000% echter. Diffuse Beleuchtung kostet aber das meiste an Rechenzeit.
 
Zuletzt bearbeitet:
Einfache Abfrage über "z" funktioniert beim Raytracing nicht, dort müsste man feststellen ob ein beliebiger Strahl aus Spielersicht das betreffende Objekt trifft, was ja z.B.: durch eine Spiegelung durchaus möglich ist.

Warum sollte ich aber gerade die Paradedisziplinen Spiegelung oder Schattenwurf bei Ray dabei aussen vor lassen:)

Selbst wenn es Rechenzeit sparen würde wäre es aber kontraproduktiv u würde nicht zu dem Ergebniss führen was sich die Gamer wünschen
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh