JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=756c42a36486c547e567596abcc650b3Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Raytracer
Gehe zu Seite 1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Projekte
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 30.11.2006, 23:20    Titel: Raytracer Antworten mit Zitat

Tjo, ich programmeire zur Zeit für Informatik einen kleinen Raytracer. Leider muss ich alles in Dlephi machen, naja egal. Hier mal mein bisher bestes Bild:

Jo, man sieht darauf insgesamt 4 Kugeln, dievon einer Lichtquelle beleuchtet werden.
Jede Kugel hat ein unterschiedliches Material (d.h. im Moment besteht das nur aus einer Farbe). Wie man an Gelb/Blau gut sieht, funktioneirt auch der ZBuffer soweit ganz gut.
Die Kugel sind übrigens nur schattiert aber werfen selber noch keinen Schatten. Es wird also abhängig zum Winkel des Lichts die Intensität berechnet. Bis jetzt ist das Licht weiß und hat volel Stärke (d.h. theoretisch könnte ien unkt auf der Kugel ganz weiß werden, wird er aber nie wegen dem Material).

ToDo (in naher Zukunft):
- buntes Licht mit unterschiedlicher Leuchtkraft
- Lichtabschwächung je nach Entfernung
- Reflexion
- Glnzeffekte (d.h. die Lichtquelle wird gespiegelt)
- Ebenen
- mehrere Lichtquellen
- Schatten

Und dann irgendwann halt noch:
- Texturemapping
- Normalmapping
- Transparenz (mit Brechung)
- Aufteilung der Berechnung auf mehrer Computer
- und noch viel mehr klassiche Effekte des Raytracings...
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mat
Senior JLI'ler


Alter: 36
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 05.12.2006, 21:10    Titel: Antworten mit Zitat

Finde das erstaunlich, vor allem auch aus der mathematischen Perspektive.

Am Rande:
Die Uni in Saarbrücken hat die letzten 2 Jahre sehr erfolgreich am Raytracing System gearbeitet.
Es ist ihnen Gelungen Framerate von über 5FPS zu bekommen, von einer Dreieckanzahl von über Millionen (AFAIK).

Zur Relation: Vor 2 Jahren hätte man noch 90Minuten für jedes Bild benötigt.

PS: Ich habe zu dem System eine Grundliegende Frage:
Die Performance eines Raytracers ist ja wesentlich besser, als die eines normalen Renderers, wenn sich viele Dreiecke in der Scene befinden (vielleicht kennst das Beispiel, dass Airbus nun erstmals die Boing an einem Stück sehen kann), da nicht jedes Dreieck angefasst werden muss.
Aber: Muss beim Raytracing nicht trotzdem eine Kollisionsabfrage zu jedem Dreieck bestehen ?
_________________
- - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 05.12.2006, 21:30    Titel: Antworten mit Zitat

Wenn mir da nicht ganz grundlegend was entgangen ist muss beim ray tracing sogar für jeden Pixel eine Kollisionsabfrage mit jedem Dreieck durchgeführt werden. Mit bounding boxen und ähnlichem kann man sich da natürlich einiges sparen, aber es bleibt trotzdem bei einem riesigen Haufen von triangle intersection tests.

Und das ray tracer performancetechnisch besser sind als normale Renderer ist mir erst recht neu Shocked . Sie sind zwar gewissermaßen flexibler und machen das realisieren bestimmter Effekte einfacher aber zur Zeit sind normale Renderer eindeutig effizienter. Deshalb benutzt man sie ja auch. In Zukunft wird sich vielleicht irgendwann mal das ray tracing für echtzeit-3D-Anwendungen durchsetzen aber bis dahin müssen die Prozessorleistungen noch ordentlich in die Höhe schießen.

P.S. Eine aktuelle Highend Grafikkarte rechnet dir eine Millionen Dreiecke in ner millisekunde runter. Naja, vielleicht nicht ganz aber mehr als eine hundertstel Sekunde braucht sie sicher nicht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 05.12.2006, 21:50    Titel: Antworten mit Zitat

Mat hat Folgendes geschrieben:
Die Performance eines Raytracers ist ja wesentlich besser, als die eines normalen Renderers, wenn sich viele Dreiecke in der Scene befinden

Alles ist relativ Wink

Wenn du sehr viele Triangles hast, kommst du mit einem Raytracer vergleichsweise besser weg als mit einem normalen Renderer. (Das gilt allerdings nur, wenn die Anzahl der Triangles wirklich immens groß ist und nicht noch großartig Spiegel im ganzen Raum verteilt sind)
Beim Raytracer ist eben das ausschlaggebende Merkmal die Auflösung. Da kannst du noch so viele Triangles haben, die Renderzeit wird sich kaum vergrößern. Beim normalen Renderer ist ausschlaggebend, wie viele Triangles du hast, egal bei welcher Auflösung. Es stimmt wohl, dass man hier jedes Dreieck nur einmal "anfassen" muss, dafür sind aber die Rechnungen dafür recht komplex. Beim Raytracer musst du zwar die Dreiecke mehrmals überprüfen(für jeden Pixel), allerdings liegt ja auf der Hand, dass die Darstellung hier wesentlich schneller ausfällt (hier muss man nur die Pixelfarbe setzen). Ich denke, dass die Berechnungen eines normalen Renderers für die Darstellung eines Dreiecks komplexer sind als die Rechnung für Schnittpunkt zw. Dreieck u. Gerade.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mat
Senior JLI'ler


Alter: 36
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 05.12.2006, 22:00    Titel: Antworten mit Zitat

@Dr.Best:
Zitat:

In Zukunft wird sich vielleicht irgendwann mal das ray tracing für echtzeit-3D-Anwendungen durchsetzen aber bis dahin müssen die Prozessorleistungen noch ordentlich in die Höhe schießen


Wird schon heute viel Verwendet. Die Autoindustrie spart mit Raytracern Millionen!
Früher musste man (weil nicht darstellbar) sehr viele Prototypen entwickeln, da man nie abschätzen konnte, wie genau die Reflektoren eines Autos aussehen werden.

So auch bei dem Boing-Beispiel.
Eine Boing besteht aus einer Unzahl von Dreiecken. Nur mit Raytracern kann man eine komplette Boing darstellen, ein normaler Renderer hat sich da tot gerendert Wink

@The Lord of Programming:
Hmm, stimmt daher könnte der (im "Spezialfall") Auftretende Geschwindigkeitsvorteil kommen. Mir wurde (von einem Prof.) mal erklärt, das man garnicht erst an jedes Dreieck ran muss, wobei mir das sehr unwahrscheinlich / nicht möglich vorkam.
_________________
- - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 05.12.2006, 22:05    Titel: Antworten mit Zitat

Hm, ich weiß nicht so ganz. Ich würde schon sagen, das die Performanc emit der Anzahl der Objekten sinkt, weil ich jetzt wirklich jedes einzelne teste. Ich hab mir halt gedacht, bei Delphi hat es keinen Sinn auf Speed zu gehen, und darum nur einfache Mathematik eingesetzt.
Ich meine, klar das Clipping entfällt, also du zeichnest halt echt nur die Pixel die Sichtbar sind. Ich machs halt so, das ich erst zu jedem Objekt die Schnittpunktentfernung berechne, und das nähste speichere. Und erst dann wird davon die Farbe berechnet.
Naja, hier mal ein enueres Bild, mit Schatten und Ebene(n):

_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
PeaceKiller
JLI Master


Alter: 35
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 06.12.2006, 13:58    Titel: Antworten mit Zitat

Mat hat Folgendes geschrieben:
@Dr.Best:
Zitat:

In Zukunft wird sich vielleicht irgendwann mal das ray tracing für echtzeit-3D-Anwendungen durchsetzen aber bis dahin müssen die Prozessorleistungen noch ordentlich in die Höhe schießen


Wird schon heute viel Verwendet. Die Autoindustrie spart mit Raytracern Millionen!
Früher musste man (weil nicht darstellbar) sehr viele Prototypen entwickeln, da man nie abschätzen konnte, wie genau die Reflektoren eines Autos aussehen werden


Link?
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
manu
Super JLI'ler


Alter: 35
Anmeldedatum: 09.03.2006
Beiträge: 327
Wohnort: allgäu (DE)
Medaillen: Keine

BeitragVerfasst am: 06.12.2006, 17:01    Titel: Antworten mit Zitat

PeaceKiller hat Folgendes geschrieben:

Link?


http://www.intrace.com/press/IST_prize.php
http://www.informatik-saarland.de/06.Presse/04.Pressespiegel/detail.php?id=289

http://www.uni-saarland.de/de/medien/2006/09/1158831649
obiger link hat Folgendes geschrieben:

Die Ray-Tracing-Software, die das Spin-off-Unternehmen des Saarbrücker Lehrstuhls für Computergraphik, Firma inTrace GmbH (www.inTrace.com), seit Mitte 2003 vermarktet, wird bereits bei Volkswagen, Audi, BMW, DaimlerChrysler und Skoda eingesetzt. Vor zwei Jahren hat Volkswagen rund 20 Millionen Euro in zwei Visualisierungszentren investiert, die mit der neuen Ray-Tracing-Technologie arbeiten. Auch der europäische Flugzeughersteller Airbus setzt bereits auf diese Technologie und auch das US-Unternehmen Boeing testet den Einsatz in ihren Entwicklungsabteilungen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mat
Senior JLI'ler


Alter: 36
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 06.12.2006, 17:40    Titel: Antworten mit Zitat

@manu:
Danke Wink

@jonathan:
Wie lange dauert es eigendlich bei deiner Software, bis ein Bild fertig ist ?
_________________
- - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 06.12.2006, 17:42    Titel: Antworten mit Zitat

ka, die Größe bei dem Bild waren so ich galbu 3-5 Sekunden oder so.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Otscho
Super JLI'ler


Alter: 36
Anmeldedatum: 31.08.2006
Beiträge: 338
Wohnort: Gummibären-Gasse
Medaillen: Keine

BeitragVerfasst am: 07.12.2006, 16:50    Titel: Antworten mit Zitat

raytracing bedeutet doch, dass du jeden Pixel selber "per Hand" berechnest und es nicht etwa DirectX überlässt. Ich habe das auch mal mit Java ausprobiert und bei mir ist es passiert, dass runde Objekte, also hauptsächlich Kugeln etwas verzerrt dargestellt wurden, wenn sie sich nicht im Zentrum das Bildes befanden.Kann es sein, dass es bei deiner roten Kugel auch ein wenig passiert ist ? So von der Mitte bis in die linke obere Ecke. Weiß jemand zufällig warum sowas öfters passiert ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Maxim
Senior JLI'ler



Anmeldedatum: 28.03.2004
Beiträge: 249

Medaillen: Keine

BeitragVerfasst am: 07.12.2006, 16:58    Titel: Antworten mit Zitat

vielleicht optische täuschung Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 07.12.2006, 17:44    Titel: Antworten mit Zitat

hm, ich hab ein wenig in Paitn experimentiert. Ich dneke es könnte ganz einfach an der Perspektivischen darstellung liegen, oder? Bei einer orthogonalen Projektion müsste das dann ja richtig sein.
Den ich kann mir nicht vorstellen, das alles so richtig aussieht, und tortzdme ein so Minifehelr drinne ist, der nur etwas verzerrt. Vor allen weil du ja das selbe ganz anders gemacht hast.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 07.12.2006, 18:02    Titel: Antworten mit Zitat

Hat sicher was mit der Brennweite der Camera zu tun, evtl ist diese zu hoch gewählt. Jonathan hat dies ja schon erwähnt, liegt an der perspektivieschen Darstellung.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 07.12.2006, 18:29    Titel: Antworten mit Zitat

Könnte es vielleicht sein, dass irgendwas mit der Berechnung der Rays für die Pixel nicht so ganz stimmt? So klein ist die Abweichung ja garnichtmal (hab's auch mal ausprobiert) und ich glaube eine Kugel müsste auch bei einer perspektivischen Projektion immer zu einem Kreis werden.
O. b. d. A. - Ohne besonders durchdachte Argumente Very Happy .
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Projekte Alle Zeiten sind GMT
Gehe zu Seite 1, 2, 3  Weiter
Seite 1 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum