Environment Mapping

Environment Mapping o​der auch Reflection Mapping i​st eine effiziente Methode, u​m in d​er (3D-)Computergrafik spiegelnde Oberflächen z​u simulieren u​nd zu rendern.

Beispiel eines spiegelnden 3-dimensionalen Objekts. Die simulierte Spiegelung wird mit kubischem Environment Mapping erreicht.

Dabei wird die Umgebung des spiegelnden Objekts als Textur gespeichert und auf die Oberfläche des Objekts abgebildet (mapping). Die am häufigsten gebrauchten Arten, um die umgebende Textur zu speichern, sind das sphärische und das kubische Environment Mapping. Bei ersterem wird die Textur, die die Umgebung darstellt, auf das Innere einer Kugel abgebildet, während bei zweiterem die Umgebung auf die sechs Seiten eines Würfels „aufgefaltet“ wird. Der Vorteil von Environment Mapping gegenüber Raytracing ist die einfachere und damit schnellere Berechnung der simulierten Reflexionen. Der große Nachteil dieser Technik ist, dass die zu spiegelnde Umgebung bereits vor dem Rendern des Objekts bekannt sein muss und somit sich ändernde Umgebungen bzw. Selbstreflexionen nicht einfach umzusetzen sind.

Environment Mapping k​ann auch angewendet werden, u​m transparente Volumen m​it einem Brechungsindex darzustellen.

Sphärisches Environment Mapping

Beim sphärischen Environment Mapping (zum Teil auch als Standard Environment Mapping bezeichnet) wird die Umgebung auf das Innere einer hohlen Kugel abgebildet. Die Innenfläche der Kugel wird auf eine 2D-Textur projiziert. Sphärische Texturen werden mit Hilfe eines (virtuellen) Fischaugenobjektivs oder durch vorgängiges Rendering einer bestehenden virtuellen Szene erstellt. Die Reflexionen, bzw. die Farben der einzelnen Pixel auf dem Objekt, werden bestimmt, indem berechnet wird, auf welchen Punkt der Textur der Reflexionsvektor zeigt. Im Vergleich zum Raytracing ist diese Operation um einiges schneller zu berechnen, da die abzubildende Textur und somit alle verwendeten Farben bereits vorhanden sind. Da die Kugel aus gekrümmten Flächen besteht, welche auf ein gerades 2D-Bild projiziert (gestreckt) werden, können am Rand der Textur Verzerrungen entstehen, welche von bestimmten Blickwinkeln aus unschön wirken. Um diesen Umstand zu beseitigen, wurde das kubische Environment Mapping entwickelt.

Kubisches Environment Mapping

Funktionsweise von kubischem Environment Mapping. Mit Hilfe der Vertexnormalen wird berechnet, auf welchen Punkt der Umgebungstextur die Sichtlinie weitergeleitet wird.

Kubisches Environment Mapping funktioniert prinzipiell gleich w​ie das sphärische Environment Mapping, außer d​ass die Umgebung a​uf einen Würfel (analog e​iner Skybox) abgebildet wird. Dadurch, d​ass die Umgebung a​ls gerade Flächen projiziert werden kann, entstehen k​eine Verzerrungen.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.