Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Vager

Frischling

Beiträge: 36

Beruf: Schule

  • Private Nachricht senden

11

09.04.2005, 22:12

Hallo liest das hier jemand?!

Ich bin ein ziehmlicher Fan von RayTraycing und frage mich seit längerem wie ich sowas in (m)ein Spiel einbauen kann. Kann mir irgend jemand helfen?
Bitte! ???
Ach ja irgendjemand (weiß nicht mehr wer) hat mal RayTraycing in Quake eingebaut. Außerdem wird glaub um 2007 oder etwas später(Das Datum verschiebt sich sowiso) ein RayTraycing Spiel erscheinen. Hoffen wir mal, dass die Rechner dann gut genug sind...

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

12

09.04.2005, 22:28

Es wäre bereits jetzt möglich, da schon Prototypen für Hardware-Raytracer gebaut wurden. Ohne hardwarebeschleunigte 3D-Polygongrafik wären die heutigen Spiele auch nicht realisierbar.

Till

Alter Hase

Beiträge: 378

Wohnort: Lincoln College, Oxford

Beruf: Student

  • Private Nachricht senden

13

09.04.2005, 22:31

Ich habe auch mal danach gesucht, aber ein deutsches Buch, welches Schritt für Schritt eine RayTracing-Engine baut, so dass man nachher selbst eine machen kann, gibt es einfach nicht - die Deutschen sind in der Hinsicht um Lichtjahre hintendran ...

Englische Bücher habe ich auch noch keine gefunden, die so schön einfach sind - aber es gibt Internet-Tutorials (google ;) ), die gar nicht schlecht sind fürs Verständnis, leider kann man die nicht brauchen, wenn man wirklich ein RayTracing-Programm proggen will mit wenig Vorkenntnissen :(

Hier sind zwei kleine:
http://www.mandelbrot-dazibao.com/Raytuto/Raytuto.htm
http://www.siggraph.org/education/materials/HyperGraph/raytrace/rtrace0.htm

Vielleicht hilft's ja (oder es schreckt dich ab ;p ),
Gruß,
Till, der Linkesammler
DOMINVS ILLVMINATIO MEA
---
Es lebe unmanaged Code!
---
>> Meine Uni <<

Till

Alter Hase

Beiträge: 378

Wohnort: Lincoln College, Oxford

Beruf: Student

  • Private Nachricht senden

14

09.04.2005, 22:33

Zitat von »"David Scherfgen"«

Es wäre bereits jetzt möglich, da schon Prototypen für Hardware-Raytracer gebaut wurden. Ohne hardwarebeschleunigte 3D-Polygongrafik wären die heutigen Spiele auch nicht realisierbar.


Was heißt "wäre" möglich? Gibt's da mehr Infos? Ich bin mir sicher, in Zukunft wird alles über Hardware-RayTracing laufen, aber sind die heute schon so weit????
DOMINVS ILLVMINATIO MEA
---
Es lebe unmanaged Code!
---
>> Meine Uni <<

DrthM2001

Alter Hase

Beiträge: 721

Wohnort: Karlsruhe

  • Private Nachricht senden

15

09.04.2005, 22:36

Es wären garantiert mit heutiger CPU power 3d spiele auch im softwaremodus möglich. nur sehen die dann entsprechend aus. Ich hab auch eine zeitlang an einem Realtime-raytracer gearbeitet. es ist zwar sehr interessant, aber macht nicht lange spaß, weil es schließlich in hardcore-optimieren endet. das resultat ist aber dass ich einige coole [vermutlich noch nicht existente] techniken dazu erfunden hab ^^
edit: ich glaub eher nich dass sich realtime rt durchsetzen wird. die ganze branche hat sich schon viel zu sehr spezialisiert. Raytracer sind auch vom mathematischen (also jetzt ohne dolles sdk aus der zukunft) sehr schwer zu coden, weil man ja keine polygone verwenden sollte. also muss alles aus so mathematischen klumpen zusammengesetzt werden wo du dann erst aufm papier irgendwelche schneideformeln mit einer geraden zusammenstellst. Und mit differentialgleichungen bekommt man dann glaubich auch die reflektionen

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

16

10.04.2005, 00:06

Zitat von »"DrthM2001"«

Raytracer sind auch vom mathematischen (also jetzt ohne dolles sdk aus der zukunft) sehr schwer zu coden, weil man ja keine polygone verwenden sollte. also muss alles aus so mathematischen klumpen zusammengesetzt werden wo du dann erst aufm papier irgendwelche schneideformeln mit einer geraden zusammenstellst. Und mit differentialgleichungen bekommt man dann glaubich auch die reflektionen

Das stimmt nicht - die berühmte Quake-Raytracing-Demo läuft schließlich auch nur mit Polygonen, und einer der besten Realtime-Raytracer (SaarCor) unterstützt überhaupt nichts anderes als Polygone. Es ist ja auch nicht sonderlich schwer, den Schnittpunkt zwischen einem Strahl und einem Dreieck zu berechnen.
Differenzialgleichungen für Reflektionen?! Quatsch! Da steckt nicht viel hinter - ein Skalarprodukt, ein paar Multiplikationen und Additionen, das war's.

Zitat von »"Till"«

Was heißt "wäre" möglich? Gibt's da mehr Infos? Ich bin mir sicher, in Zukunft wird alles über Hardware-RayTracing laufen, aber sind die heute schon so weit????

Wie gesagt - es haben bereits mehrere Leute eigene Hardware-Raytracer gebaut, die mehr Leistung als jede heute bezahlbare CPU bringen, weil sie auf parallele Berechnungen ausgelegt sind. Selbst mit niedrigen Taktfrequenzen von 33 MHz erreichen sie schon Echtzeit-Frameraten (siehe Quake-Implementierung mit Realtime Raytracing). Würde man sie so hoch wie moderne Grafikkarten takten - ...
Raytracing kann alles, was mit normaler Polygongrafik auch geht, und noch viel mehr. Es ist möglich, Global Illumination zu implementieren, Soft Shadows, realistische Reflektionen/Brechungen usw. - das kommt quasi alles von ganz allein, ohne dass man viel herumtricksen muss.
Zudem steigt der Berechnungsaufwand bei wachsender Objektzahl beim Raytracing nur sehr schwach an. Man kann Szenen mit einer Milliarde (wirklich!) Dreiecke rendern und ist nicht einmal auf Techniken wie LOD angewiesen, weil es gar nicht notwendig ist bzw. weil es keinen Einfluss auf die Performance hätte.

Links:
www.openrt.de
www.saarcor.de (Infos über einen der Hardware-Prototypen)

Till

Alter Hase

Beiträge: 378

Wohnort: Lincoln College, Oxford

Beruf: Student

  • Private Nachricht senden

17

10.04.2005, 00:18

Danke für die Links!

Wow, unglaublich - so weit schon - also wenn die Ansprüche wachsen, dann mal viel Spaß mit so was "konventioneller Beleuchtung" bei so was:

BILD UNTER DIESEM LINK HIER:
http://graphics.cs.uni-sb.de/~jofis/SaarCOR/sunflowers_1.jpg

Edit by David Scherfgen:
Das Bild war zu breit und hat den Rest des Topics "zerstört" ;)

;p ;p ;p

Einfach nur KRASS!!! Die vielen Blätter uns Schatten - es lebe RT!
DOMINVS ILLVMINATIO MEA
---
Es lebe unmanaged Code!
---
>> Meine Uni <<

DrthM2001

Alter Hase

Beiträge: 721

Wohnort: Karlsruhe

  • Private Nachricht senden

18

10.04.2005, 00:41

@scherfgen. ich hab nicht gesagt polygone sind unmöglich. aber technisch nicht sehr geeigenet, da du ja (optimierungen jetzt mal nicht beachtet) den strahl mit jedem polygon testen musst. und wenn du *nur* polygone nimmst, brauchst du für runde objekte sehr viel davon. deshalb empfiehlt es sich für raytracer nicht unbedingt... und das mit den reflexionen: bei kugeln ists einfacher. bei allen anderen objekten sinds ja auch nur additionen etc. nur eben mit einer differentialrechnung hergeleitet (ich habs so gemacht und es hat gefunzt ;p )

@till: das bild ist auf keinem fall realtime. die blätter sind zwar detailliert usw, aber mit vertexshadern und anderen utensilien kann man das auch hinbekommen. look@3dmark natureszene. also ich find das bild sieht jetzt eigentlich überhaupt nicht gut aus :rolleyes:

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

19

10.04.2005, 08:14

Zitat von »"DrthM2001"«

@scherfgen. ich hab nicht gesagt polygone sind unmöglich. aber technisch nicht sehr geeigenet, da du ja (optimierungen jetzt mal nicht beachtet) den strahl mit jedem polygon testen musst. und wenn du *nur* polygone nimmst, brauchst du für runde objekte sehr viel davon. deshalb empfiehlt es sich für raytracer nicht unbedingt... und das mit den reflexionen: bei kugeln ists einfacher. bei allen anderen objekten sinds ja auch nur additionen etc. nur eben mit einer differentialrechnung hergeleitet (ich habs so gemacht und es hat gefunzt ;p )

Dreiecke empfehlen sich, weil sie sich sehr gut in Beschleunigungsstrukturen für die Schnitttests einbauen lassen, wie z.B. BSP. Die heute existierenden Ray-Tracer müssen selbst bei Szenen mit mehreren Millionen Dreiecken pro Strahl nur ganz wenige Schnitttests durchführen. Ich empfehle Dir, die Arbeit von Philipp Slusallek zu lesen (http://graphics.cs.uni-sb.de/~slusallek/publications.html). In dieser Arbeit wird ein in Software implementierter Raytracer vorgestellt, der eine beachtliche Leistung bringt und auch sehr große Szenen in nahezu Echtzeit auf einem normalen Prozessor rendern kann. Dieser Raytracer basiert ebenfalls nur auf Dreiecken (welche Vorteile das noch hat, wird in der Arbeit genau erläutert).

Reflexion: Egal, welches Objekt es ist - Du brauchst nur den Normalenvektor des Objekts an der Stelle, an der es getroffen wurde. Die Berechnung des Reflexionsvektors ist also bei jedem Objekt gleich (die Berechnung des Normalenvektors natürlich nicht).

Zitat von »"DrthM2001"«

@till: das bild ist auf keinem fall realtime. die blätter sind zwar detailliert usw, aber mit vertexshadern und anderen utensilien kann man das auch hinbekommen. look@3dmark natureszene. also ich find das bild sieht jetzt eigentlich überhaupt nicht gut aus :rolleyes:

Das Bild wurde soweit ich weiß auf dem "Hardware Simulator" berechnet, den sie gebaut haben, um den Prototypen zu simulieren. Der Hardware-Raytracer würde es in Echtzeit schaffen, und ob es gut aussieht oder nicht - es zeigt, welche gewaltigen Mengen von Daten ein Raytracer ohne LOD-Mechanismen bewältigen kann.

20

10.04.2005, 12:50

ich muss sgaen ich find das bild nicht sehr hübsch.
erinnert mich irgendwie an 2d-decals in ner 3d-lansdschaft.
sie aus wie ne collage.

Werbeanzeige