GL ARB texture cube map: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(GL_ARB_texture_cube_map)
K (Rechtschreibung, teilweise Satzbau)
Zeile 8: Zeile 8:
 
<br>
 
<br>
 
== Beschreibung ==
 
== Beschreibung ==
Wie der Name zumindest anseitzweise 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 unt r-Texturkoordinaten also Richtungsvektor genutzt, um den passenden Texel der passenden Würfelseite zu ermitteln. Um diese Cubemaps auch sinnvoll nutzen zu können, wurden zwei neue Texturierungsziele eingeführt :
+
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''' ===
 
=== '''GL_NORMAL_MAP_ARB''' ===

Version vom 18. April 2005, 21:58 Uhr

GL_ARB_texture_cube_map

Info DGL.png 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


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
    TEXTURE_CUBE_MAP_POSITIVE_Y_ARB
    TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB
    TEXTURE_CUBE_MAP_POSITIVE_Z_ARB

    TEXTURE_CUBE_MAP_NEGATIVE_Z_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.



Ressourcen

DGL-Cubemap-Tutorial
Original Extension-Spezifikation