Registriert: Sa Okt 26, 2002 17:14 Beiträge: 188 Wohnort: Hannover/Lüneburg
Hallo!
Ich überlege gerade, wie ich am geschicktesten Spiegelungen einbauen könnte. Mir sind da 3 Techniken eingefallen:
-die von SoS in seinem Tutorial beschriebene mit Verwendung des Stencilbuffers
-Render der Szene aus Sicht des Spiegels in eine Texture, diese dann als Spiegeltexture verwenden
-Environement-Cubemap
Die letzte Möglichkeit ist wohl nur für aufwendige Oberflächen zu gebrauchen. Für einfache glatte Spiegelflächen würde ich die Kamera-Variante vorziehen. Bzw. ich sehe nicht den Vorteil der Stencilbuffer-Variante. Ich kann ja je nach Leistung der Grafikarte die Szene nur jedes X.-te Frame neu in die Texture rendern, die Größe der Texture variieren und auch für die Texture geringere Farclippingplane oder andere Details runterschrauben Wobei man dies beim zeichnen des Spiegelraums bei der Stencilbuffer-Variante ja auch könnte. Aber wie gesagt, ich sehe den Vorteil nicht...
_________________ Thunderman
Bei schwierigen Problemen entscheiden wir uns einfach für die richtige Lösung. Klar?
Du würdest dir jedenfalls eine Textureinheit sparen, wenn du nicht direkt in eine Textur renderst eventuell auch einigen Traffic.
Andererseits hat die Textur noch andere Vorteile: etwa ist damit eine spiegelnde und dennoch transparente Wasseroberfläche einfacher zu realisieren.
Na ja, dir fallen sicher sowohl für das Eine als auch für das Andere noch kreative Anwendungsmöglichkeiten ein. Vielleicht machst du's auch ganz anders und realisierst deinen Spiegel mit einer Alphamaske in einem RGBA-Modus...
Ich würde die gespiegelte Szene in eine Texture rendern und diese Texture dann durch eine Bumpmap verschieben. Dann hat man immer das korrekte Spiegelbild. Da die Texture durch die Bumpmap verschoben wird, fällt es nicht auf wenn die Spiegeltextur eine geringere Auflösung als der Bildschirm hat. Wenn man automatisch Maipmaps für die Spiegeltextur generieren läßt, kann man die Schärfe der Reflektion beeinflussen. Das geht mit ARB_fragment_program sogar pro Pixel.
Die Cubemap würde ich eher für vorberechnete Environenment Maps oder als Ersatz für das Specular Licht benutzen, um die Flächen glänzen zu lassen. Bei runden oder komplexen spiegelnden Oberflächen ist eine Cubemap auch besser.
Mitglieder in diesem Forum: 0 Mitglieder und 6 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.