Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Jul 17, 2025 14:54

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Dieses Thema ist gesperrt. Du kannst keine Beiträge editieren oder weitere Antworten erstellen.  [ 99 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 7  Nächste
Autor Nachricht
 Betreff des Beitrags: @Raytracer
BeitragVerfasst: Mi Okt 25, 2006 08:45 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 03, 2002 15:08
Beiträge: 662
Wohnort: Hamburg
Programmiersprache: Java, C# (,PhP)
Sieht sehr gut aus. Wird es dazu vielleicht irgendwann von dir ein Tutorial geben? So wirklich gute Tutorials hab ich bisher zu dem Thema im Netz nicht gefunden.

_________________
(\__/)
(='.'=)
(")_(")


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 25, 2006 09:17 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Hm, einige Kleinigkeiten habe ich ja vor ein paar Tagen schon eingestreut - Ray-Sphere Collision ist ja versteckt schon drinne. Aber bislang war die Resonanz auf den Raytracer ja nicht allzu grosz und so hab ich das Gefuehl, dasz sich auch das Interesse dazu in Grenzen haelt. Moeglich waere es schon, hier ein wenig mehr zu zu schreiben, sobald ich die Zeit dazu finde. Wenn aber dieser Thread so leer und unberuehrt bleibt wie er ist, wird es sich wohl auf die Informationen beschraenken, die man auch in normalem OpenGL verheizen koennte oder dort zumindest interessant sind, weil das ist ja schon ein ganzer Haufen Arbeit, der da hinter steckt.


Zuletzt geändert von Delphic am So Jul 12, 2009 20:36, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 25, 2006 09:48 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 03, 2002 15:08
Beiträge: 662
Wohnort: Hamburg
Programmiersprache: Java, C# (,PhP)
Das es viel Arbeit ist mir klar. Ich meine in der OpenGL Super Bible widmet sich ein Kapitel auch dem Raytracing, bin mir gerade nur nicht sicher, muss ich zuhause mal ins Buch schauen. Trotz allem wären Texte auf Deutsch schon schön, auch wenn es bedeutet nur hier und da Informationen zu Teilthemen zu bekommen.

Würde nämlich gerne einen Raytracer zum erstellen von Lightmaps nutzen.

_________________
(\__/)
(='.'=)
(")_(")


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 25, 2006 11:42 
Offline
DGL Member

Registriert: So Aug 20, 2006 23:19
Beiträge: 564
Also ich wäre an dem Tut dazu auch interessiert


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 25, 2006 19:07 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
tut mir leid wegen der frage, aber was ist genau ein raytracer?

die screenshots gefallen mir wirklich sehr gut, geil die weiss ich nicht wievielen spiegelungen ;)

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 25, 2006 19:24 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Naja, ums kurz zu umschreiben, was ein Raytracer ist: Die antiken Griechen glaubten, daß um sehen zu können, ihr Auge viele Strahlen verlassen. Treffen sie irgendwo auf, dann sieht man die Farbe des getroffenen Objektes, tun sies nicht, siehst du irgendwann den Äther - der wohl blau oder schwarz sein muss... Trotz seiner etwas seltsamen konsequenzen (z.B. daß man zwischen Tag und Nacht eigentlich keinen Unterschied hat), kann man sich dieses Prinzip bei einem Raytracer zunutze machen. Man sendet Strahlen von der Kamera aus und schaut, ob sie sich mit einem Objekt in der Szene schneiden. Wenn ja, dann wird anhand des nahesten Objektes entschieden, wie weiter verfahren wird. So wird meist ein Strahl zur nächsten Lichtquelle weitergeschickt, um zu sehen ob der getroffene Punkt im Schatten eines anderen Objektes liegt und wenn nicht wie das Licht einfällt. Das kann man dann noch etwas weiter treiben und für Spiegelungen, Brechungen, etc, erweitern. So im groben...


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 26, 2006 09:20 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
angenommen dieser "strahl" trifft auf eine deiner kugeln, dann wird der also an der tangente mit einfallswinkel = ausfallswinkel abprallen und so die spiegelung am boden erzeugen, richtig ? wenn er jetzt wieder gespiegelt wird geht das immer so weiter, riecht nach rekursion. aber wie stellst du das am ende dar ? irgendwann ist ja die linie am ziel angekommen (da wo wenig oder garnichts mehr mit dem licht passiert) und dann muss du ja diesen punkt irgendwie mappen Oo und wie regelst du die schatten etc. mich würde das schon interessieren ;) (schatten geraytraced vom licht aus ? )

mfg


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 26, 2006 09:59 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 03, 2002 15:08
Beiträge: 662
Wohnort: Hamburg
Programmiersprache: Java, C# (,PhP)
Ich schätze mal der Strahl hat nur eine bestimmte Länge die sich aus der Helligkeit und dergleichen ergibt. Sonst würd das ja endlos gehen...

_________________
(\__/)
(='.'=)
(")_(")


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 26, 2006 11:41 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also mal ne vermutung meiner Seits. Hab das zwar mal in ner Vorlesung gehört aber nie implementiert:

Du schickst einen Strahl los, er trifft auf ein Objekt. Du merkst dir die Farbe an der Stelle und schickst den Strahl weiter (entsprechend der Reflexionsgesetze). Trifft er wieder auf ein Objekt mekrst du dir wieder die dortige Farbe. Und so weiter. Bis zum Ende. Dann nimmst du die Farben und verrechnest die letzte mit der Vorletzten. Das ergebnis benutzt du für die Vorletzte Stelle. Dann verrechnest du diese neue Farbe mit der VorVorletzten usw. Solange bis du die Farbe der ersten Kollisionstelle hast. Und dann shcickst du den nächsten Strahl los.

U.A. der Grund warum Raytracing nicht in Echtzeit geht. Jedenfalls im Moment noch nicht...

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 26, 2006 13:33 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
... und um die Farbe an den jeweiligen Punkten zu berechnen, wird jeweils ein Strahl zu jeder Lichtquelle geschickt, um deren Einfluß auf die aktuelle Oberfläche zu berechnen. Dieser Einfluss errechnet sich dann wie bei OpenGL aus Entfernung, Anstrahlwinkel, Farbe des Lichts und Reflexionsgrad usw. der Oberfläche.
Dadurch ergeben sich dann automatisch die Schatten. Das ist der Grund, warum beim Raytracing die Schatten immer so hart sind. Weiche Schatten erreicht man dann, indem man zusätzlich das Radiosity-Verfahren anwendet.

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 26, 2006 14:40 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Ja, in etwa so wirds gemacht. Entscheiden, wann man fertig ist mit der Rekursion ist eigentlich ganz leicht: Einerseitz gibt man fest einen maximalen Rekursionsgrad an. Andererseits kann man sich merken, wieviel Farbe denn höchstens in die nächste Rekursionsebene mit eingeht - fällt dieser Intensitätswert unter einen Schwellwert, so wird nicht weitergerechnet, da der Einfluss auf die Endfarbe nicht weiter wahrnehmbar ist.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 26, 2006 21:21 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Sidorion hat geschrieben:
Das ist der Grund, warum beim Raytracing die Schatten immer so hart sind. Weiche Schatten erreicht man dann, indem man zusätzlich das Radiosity-Verfahren anwendet.

Es gibt zwar auch Tricks, Schatten im Standard-Raytracer weicher zu machen, aber es stimmt, man nimmt hier inzwischen andere verfahren, allerdings ist Radiosity inzwsichen deutlich auf dem rückzug - gehört inzwischen eher in die Kategorie altbacken und nicht optimal. Photon-Mapping ist das momentane Zauberwort - mal sehen ob sich die Zeit findet, das in meinem Raytracer unterzubringen - man bekommt dadurch aber nicht nur schöne Schatten sondern auch gleich Caustics und ähnliches als Gratisbonus.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 28, 2006 11:14 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
In der letzten Weinachstsvorlesung die ich gehoert habe, hat uns unser Prof. auch einen (in java) selbst geschriebenen Raytracer vorgestellt.

Interessant war das er in seinem Raytracer eingebaut hat das er Objekte kombinieren kann. z.B. das nur das sichtbar ist was in Objekt 1 ist und in Objekt 2. Oder das nur das Sichtbar ist was in Objekt 1 ist aber nicht in Objekt 2. So hat er zum Beispiel in einem kleinen Film eine Kugel durch einen Wuerfel fliegen lassen. Die Kugel selbst war nicht sichbar, allerdings verschwand der wuerfel an den stelllen an dem ihn die Kugel beruehrte.

Habe mal schnell ein Bild in Blender gerendert so wie es damals aussah, als sich die Kugel mitten im Würfel befand.


Dateianhänge:
Dateikommentar: Ein Würfel von dem eine Kugel abgezogen wurde.
WuerfelMinusKugel.jpg
WuerfelMinusKugel.jpg [ 21.92 KiB | 10070-mal betrachtet ]

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut
Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 28, 2006 11:34 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Richtig cool kommt dieser Effekt aber erst zur Geltung, wenn das, was vom Würfel übrigbleibt, auch innen nach eine Oberfläche hat, also nicht wie in deinem Bild, dass man dann die Außenseiten des Würfels von innen sieht. Aber ich denke, das ist nicht so leicht zu implementieren...

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 28, 2006 11:40 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Ja.. Das läuft unter dem Begriff Constructive Solid Geometry - dazu kann man solide Objekte verwenden und darauf Mengenoperationen wie Differenz, Schnitt, Vereinigung, etc. anwenden. Das ist ganz lustig und steht bereits auf der TODO-Liste, aber ist nicht unbedingt das erste, was man implementiert, weil man dabei sehr genau nachdenken muss, was man tut ;-) Jedenfalls: Das wird noch kommen, wobei meine Schnittebenen bereits nach diesem Prinzip funktionieren - allerdings schneiden offene Schnittebenen das Objekt auf und drehen die Innenseite des Objektes nach aussen (die normalen müssen umgedreht werden, damit das Licht, Reflexion, ecc stimmt. ). Die geschlossenen Schnittebenen werden dagegen das Objekt solid erhalten und können dann auch mit anderen CSG Objekten verbraten werden - soweit bin ich aber noch nicht. Übertrieben kompliziert ist die Sache aber auch wieder nicht, weshalb eigenlich jeder etwas vorangeschrittene Raytracer, der nicht für sehr spezielle aufgaben ausgelegt ist, etwa Lightmapgeneratoren, CSG implementiert ;-)


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Dieses Thema ist gesperrt. Du kannst keine Beiträge editieren oder weitere Antworten erstellen.  [ 99 Beiträge ]  Gehe zu Seite 1, 2, 3, 4, 5 ... 7  Nächste
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.011s | 17 Queries | GZIP : On ]