GL ARB texture cube map: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Rechtschreibung, teilweise Satzbau)
K (Ressourcen: Spezifikations-Link berichtigt)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 6: Zeile 6:
 
GL_ARB_texture_cube_map
 
GL_ARB_texture_cube_map
  
<br>
+
 
 +
 
 
== Beschreibung ==
 
== 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 :
 
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 :
Zeile 16: Zeile 17:
 
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.
 
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.
  
<br>
+
 
 +
 
 
== Neue Tokens ==
 
== Neue Tokens ==
 
'''Für [[glTexGen]]'''
 
'''Für [[glTexGen]]'''
Zeile 99: Zeile 101:
 
<br>
 
<br>
  
<br>
+
 
 +
 
  
 
== Ressourcen ==
 
== Ressourcen ==
[http://www.delphigl.com/script/do_show.php?name=gl_texture_cubemap_arb&action=2 DGL-Cubemap-Tutorial]<br>
+
[[Tutorial_Cubemap]]
[http://oss.sgi.com/projects/ogl-sample/registry/ARB/texture_cube_map.txt Original Extension-Spezifikation]
+
 
 +
[http://opengl.org/registry/specs/ARB/texture_cube_map.txt Original Extension-Spezifikation]

Aktuelle Version vom 12. Juli 2008, 10:00 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

Tutorial_Cubemap

Original Extension-Spezifikation