AlSvartr
2006-08-29, 10:44:41
Ich hab da so ein kleines Problemchen, über das ich mir den Kopf zerbreche und ich komme einfach zu keiner Lösung. Ich bastelte ein wenig an meinem Raytracer herum und implementierte dann endlich auch mal Transparenz und Brechung. Nun hat sich aber bei Letzterem ein Problem ergeben:
Wenn ein Strahl ein Objekt zum ersten mal schneidet und dieses Objekt ist transparent, klar, dann gelangt der Strahl ins Objekt und wird dabei gebrochen. Wenn er das Objekt ein zweites mal schneidet, ist er wieder draußen usw. ... nun habe ich aber das Problem, dass sich Objekte auch überschneiden können. Wie kann ich jetzt in sinnvoller Weise ermitteln, in welches Objekt ich gelange, wenn ich aus einem anderen herauskomme? Immerhin benötige ich diese Information (bzw. den zum Objekt gehörigen Brechungsindex), um die korrekte Brechung zu berechnen. Aber um zu ermitteln, welches Objekt ich schneide, müsste ich doch wiederum auch schon den Brechungsindex kennen, weil ich wissen will, in welche Richtung der Strahl geht und es ja davon abhängig ist, welches Objekt er schneidet.
Hm!
Bin ich einfach nur zu blöd und stehe völlig auf dem Schlauch, während eine völlig logische und einfache Lösung existiert oder ist es wirklich ne Ecke komplizierter? Wenn mir da jemand helfen könnte, wäre ich wirklich sehr dankbar :)
Wenn ein Strahl ein Objekt zum ersten mal schneidet und dieses Objekt ist transparent, klar, dann gelangt der Strahl ins Objekt und wird dabei gebrochen. Wenn er das Objekt ein zweites mal schneidet, ist er wieder draußen usw. ... nun habe ich aber das Problem, dass sich Objekte auch überschneiden können. Wie kann ich jetzt in sinnvoller Weise ermitteln, in welches Objekt ich gelange, wenn ich aus einem anderen herauskomme? Immerhin benötige ich diese Information (bzw. den zum Objekt gehörigen Brechungsindex), um die korrekte Brechung zu berechnen. Aber um zu ermitteln, welches Objekt ich schneide, müsste ich doch wiederum auch schon den Brechungsindex kennen, weil ich wissen will, in welche Richtung der Strahl geht und es ja davon abhängig ist, welches Objekt er schneidet.
Hm!
Bin ich einfach nur zu blöd und stehe völlig auf dem Schlauch, während eine völlig logische und einfache Lösung existiert oder ist es wirklich ne Ecke komplizierter? Wenn mir da jemand helfen könnte, wäre ich wirklich sehr dankbar :)