Computergrafik

Environment Mapping

3D Texturen | | Environment Mapping in OpenGL

Mit Environment Mapping wird die Reflektion der Umgebung auf Oberflächen simuliert (nur Umgebung, keine Selbstreflexion!). Wir vor allem für die Simulation metallischer und lackierter Oberflächen verwendet.

Dafür wird eine sogenannte Cube Map definiert, die Texturen für alle Seiten einer gedachten Box um die Szene bietet:

skybox cube texture

Eine solche Cube Map kann über 3(!) Kooridinaten angesprochen werden; die Grafikkarte interpretiert die Koordinaten als Vektor vom Ursprung des Würfels in eine Richtung, selektiert die getroffene Fläche (aufgrund der größten Komponente) und schlägt in dieser nach.

Ein typischer Vektor der dafür benutzt wird ist der an der Normalen gespiegelte View-Vektor.

Im Netz sind etliche frei verfügbare Cubemaps zu finden.

Dynamische Environment Maps

Für stärkeren Realismus muss die Environment Map die aktuelle (!) Szene wiedergeben. Dazu zeichnet man die Szene zuerst von Mittelpunkt des reflektierten Objektes 6x (siehe Render-to-Texture), und benutzt diese 6 Texturen dann als Environment Map für das finale Rendering vom regulären Viewport.

environment mapping


3D Texturen | | Environment Mapping in OpenGL

Options: