Final Gathering mit Normal Mapping

Design Patterns, Erklärungen zu Algorithmen, Optimierung, Softwarearchitektur
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Antworten
Punika
Beiträge: 29
Registriert: 25.02.2002, 15:12
Echter Name: Lutz Hören
Kontaktdaten:

Final Gathering mit Normal Mapping

Beitrag von Punika »

Hallo zusammen,

habe das Thema zwar schon irgendwo anders gefragt, habe aber leider noch keine Antwort bekommen, deshalb versuche ich hier mein Glück.
Und zwar geht es um folgendes: Ich habe bereits einen Lightmapper auf Basis von Photon Mapping zusammengebaut. Im moment sieht es so aus, das ich an jedem Lumel die Photonmap abfrage. Die Radiance Estimation folgt über meine Normalen. (ich benutze die 3 Basis Normalen von der HL2 Präsentation) Durch die Gewichtung funktioniert das ganze auch ganz gut, nur habe ich natürlich bei zu wenigen Photonen das bekannte Rauschen.
Nun wollte ich das ganze mit Final Gathering erweitern. Habe schon ein paar Papers mir durchgelesen, doch fassen die diesen Abschnitt ziemlich kurz. Klar ist das ich für jeden Lumel jetzt über die Hemisphäre Rays casten muss, und an den stellen wo diese triff, hier meinen Radiance Estimate durchführe. Wo es hapert, und wo die Papiers nicht konkret drauf eingehen ist, welche Normale für die Gewichtung ich nehmen muss.
Wenn ich an die Sache logisch dran gehe, kann ich die Normale der Lumel nicht verwenden da diese ja von meine Surface wegzieht und die Photonen beim Schnittpunkt in Richtung dieses Surfaces zeigen werden. Gut, ich könnte natürlich die Normale invertieren oder aber z.B. die Normale des Schnittpunktes nehmen. Damit hätte ich zwar valide Normalen doch weiß ich nicht ob das so "korrekt" ist.
Zudem habe ich nun das Problem, wie mache ich das mit meinen 3 Basis Normalen?
Was mir in den Sinn kam ist, das ich natürlich beim Final Gathering die Hemisphäre für jede Normale beschränken könnte. Oder eben für jede normale die Inverse am Schnittpunkt nehmen könnte.
Weiß zufällig jemand was nun korrekt wäre.

Vielen Dank

punika
Antworten