Cubemap: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) () |
Flash (Diskussion | Beiträge) (→Siehe Auch: Link korrigiert) |
||
Zeile 24: | Zeile 24: | ||
[[Spheremap]] | [[Spheremap]] | ||
− | [http://www.delphigl.com/script/do_show.php?name=gl_texture_cubemap_arb&action=2 Cubemaptutorial bei DelphiGL.de | + | [http://www.delphigl.com/script/do_show.php?name=gl_texture_cubemap_arb&action=2 Cubemaptutorial bei DelphiGL.de] |
Version vom 11. Oktober 2005, 21:18 Uhr
(Mehr Informationen/weitere Artikel) {{{1}}} |
Cubemaps sind spezielle Texturen. Anstatt wie üblich nur eine einfache 2D Fläche zu sein, bestehen Cubemaps aus 6 2D Texturen welche 6 Ansichten enthalten. Diese 6 Texturen sind, wie der Name bereits vermuten läßt, wie die Seiten eines Würfels angeordnet.
Verwendung von Cubemaps
Ein Haupteinsatzgebiet für Cubemaps sind Spiegelungen auf Objekten. Zu diesem Zweck enthält die Cubemap die Umgebung des Objekts. (Vom Objekt aus gesehen).
Eine andere Verwendungsmöglichkeit ist, die Cubemap zu verwenden, um PerPixel Normalen zu berechnen. (siehe Tutorial12 bei DelphiGL.de)
OpenGL Befehle
glTexImage2D mit den Texturzielen GL_TEXTURE_CUBE_MAP_[Richtung]_[Achse] wobei [Richtung] gleich POSITIVE oder NEGATIVE und [Achse] gleich X, Y oder Z sein kann.
glTexParameteri mit Texturziel GL_TEXTURE_CUBE_MAP
Um Texturkoordinaten zu generiere:
glTexGeni(GL_S,GL_TEXTURE_GEN_MODE,GL_REFLECTION_MAP); glTexGeni(GL_T,GL_TEXTURE_GEN_MODE,GL_REFLECTION_MAP); glTexGeni(GL_R,GL_TEXTURE_GEN_MODE,GL_REFLECTION_MAP); glEnable(GL_TEXTURE_GEN_S); glEnable(GL_TEXTURE_GEN_T); glEnable(GL_TEXTURE_GEN_R);
Statt GL_REFLECTION_MAP kann auch GL_NORMAL_MAP verwendet werden. GL_NORMAL_MAP verwendet die Normalen für die Berechnung der Schnittpunkte zwischen Blickvector und Würfel, währen GL_REFLECTION_MAP den reflektierten Sichtvector benutzt.