GL ARB texture cube map
Inhaltsverzeichnis
GL_ARB_texture_cube_map
Die Orginalspezifikation finden Sie unter "Ressourcen" am Ende des Artikels. |
Abfragestring
GL_ARB_texture_cube_map
Beschreibung
Wie der Name zumindest ansatzweise vermuten lässt, handelt es sich hier um ein neues Texturenziel (neben 1D-, 2D- und 3D-Texturen), dass aus insgesamt 6 2D-Texturen besteht die einen Würfel (=Cube) beschreiben. Beim Rendern werden dann die s,t und r-Texturkoordinaten als Richtungsvektoren genutzt, um den passenden Texel der passenden Würfelseite zu ermitteln. Um diese Cubemaps auch sinnvoll nutzen zu können, wurden zwei neue Modi für die automatische Generierung von Texturkoordinaten eingeführt :
GL_NORMAL_MAP_ARB
In diesem Modus werden die (s,t,r)-Texturkoordinaten anhand der transformierten Vertexnormale (im Betrachterraum(EyeSpace)) ermittelt. Mittels dieser Methode kann man Cubemaps für erweiterte (und Per-Pixel!) Beleuchtungsmodelle nutzen, die sonst nur unter Verwendung von Shadern möglich wären.
GL_REFLECTION_MAP_ARB
Hier werden die (s,t,r)-Texturkoordinaten entsprechend des Reflektionsvektors des Vertex (im Betrachterraum) generiert. So kann man Cubemaps (das ist auch ihr primärer Verwendungszweck) nutzen um wirklich realistische Reflektionen zu generieren, die nicht so fehlerhaft sind wie die vorgekaugelten Reflektionen die durch Spheremapping oder Environmentmapping generiert werden.
Neue Tokens
Für glTexGen
-
Wenn pname TEXTURE_GEN_MODE ist, dann sind für param folgende neuen Werte gültig :
GL_NORMAL_MAP_ARB | Texturkoordinaten werden entsprechend dieses Kapitels generiert. |
GL_REFLECTION_MAP_ARB | Texturkoordinaten werden entsprechend dieses Kapitels generiert. |
Für glEnable, glDisable, glIsEnabled, glGet, glBindTexture, glGetTexParameter, glTexParameter
GL_TEXTURE_CUBE_MAP_ARB | Gültig als Parameter cap für glEnable, glDisable, glIsEnabled, und pname für glGet, um den Zustand des Cubemappings zu sezten, bzw. abzufragen. Bei glBindTexture, glGetTexParameter, glTexParameter gültig als Parameter target um das Texturenziel als Cubemap zu kennzeichnen. |
Für glGet
GL_TEXTURE_BINDING_CUBE_MAP_ARB | Gültig als Parameter pname für glGet, um zu ermitteln welcher Cubemapseite eine Textur zugewiesen ist. |
Für glGetTexImage, glGetTexLevelParameter, glTexImage2D, glCopyTexImage2D, glCopySubTexImage2D, glTexSubImage2D
TEXTURE_CUBE_MAP_POSITIVE_X_ARB TEXTURE_CUBE_MAP_NEGATIVE_X_ARB |
Gültig als Parameter target, und gibt dann an welche Seite der Cubemap ausgelesen, bzw. in welche die Textur kopiert werden soll. |
Für glGetTexLevelParameter, glTexImage2D
GL_PROXY_TEXTURE_CUBE_MAP_ARB | Gültig als Parameter target. |
Für glGet
GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB | Gültig als Parameter pname, und gibt die maximale Texturengröße pro Cubemapseite an. |