Class ARBTextureCubeMap

java.lang.Object
org.lwjgl.opengl.ARBTextureCubeMap

public final class ARBTextureCubeMap extends Object
Native bindings to the ARB_texture_cube_map extension.

This extension provides a new texture generation scheme for cube map textures. Instead of the current texture providing a 1D, 2D, or 3D lookup into a 1D, 2D, or 3D texture image, the texture is a set of six 2D images representing the faces of a cube. The (s,t,r) texture coordinates are treated as a direction vector emanating from the center of a cube. At texture generation time, the interpolated per-fragment (s,t,r) selects one cube face 2D image based on the largest magnitude coordinate (the major axis). A new 2D (s,t) is calculated by dividing the two other coordinates (the minor axes values) by the major axis value. Then the new (s,t) is used to lookup into the selected 2D texture image face of the cube map.

Unlike a standard 1D, 2D, or 3D texture that have just one target, a cube map texture has six targets, one for each of its six 2D texture image cube faces. All these targets must be consistent, complete, and have equal width and height (ie, square dimensions).

This extension also provides two new texture coordinate generation modes for use in conjunction with cube map texturing. The reflection map mode generates texture coordinates (s,t,r) matching the vertex's eye-space reflection vector. The reflection map mode is useful for environment mapping without the singularity inherent in sphere mapping. The normal map mode generates texture coordinates (s,t,r) matching the vertex's transformed eye-space normal. The normal map mode is useful for sophisticated cube map texturing-based diffuse lighting models.

The intent of the new texgen functionality is that an application using cube map texturing can use the new texgen modes to automatically generate the reflection or normal vectors used to look up into the cube map texture.

Promoted to core in OpenGL 1.3.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
    static final int
    Accepted by the param parameters of TexGend, TexGenf, and TexGeni when pname parameter is TEXTURE_GEN_MODE.
    static final int
    Accepted by the target parameter of GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and TexImage2D.
    static final int
    Accepted by the param parameters of TexGend, TexGenf, and TexGeni when pname parameter is TEXTURE_GEN_MODE.
    static final int
    Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
    static final int
    When the pname parameter of TexGendv, TexGenfv, and TexGeniv is TEXTURE_GEN_MODE, then the array params may also contain NORMAL_MAP_ARB or REFLECTION_MAP_ARB.
    static final int
    Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
    static final int
    Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
    static final int
    Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
    static final int
    Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
    static final int
    Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
    static final int
    Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
  • Method Summary

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • GL_NORMAL_MAP_ARB

      public static final int GL_NORMAL_MAP_ARB
      Accepted by the param parameters of TexGend, TexGenf, and TexGeni when pname parameter is TEXTURE_GEN_MODE.
      See Also:
    • GL_REFLECTION_MAP_ARB

      public static final int GL_REFLECTION_MAP_ARB
      Accepted by the param parameters of TexGend, TexGenf, and TexGeni when pname parameter is TEXTURE_GEN_MODE.
      See Also:
    • GL_TEXTURE_CUBE_MAP_ARB

      public static final int GL_TEXTURE_CUBE_MAP_ARB
      When the pname parameter of TexGendv, TexGenfv, and TexGeniv is TEXTURE_GEN_MODE, then the array params may also contain NORMAL_MAP_ARB or REFLECTION_MAP_ARB. Accepted by the cap parameter of Enable, Disable, IsEnabled, and by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev, and by the target parameter of BindTexture, GetTexParameterfv, GetTexParameteriv, TexParameterf, TexParameteri, TexParameterfv, and TexParameteriv.
      See Also:
    • GL_TEXTURE_BINDING_CUBE_MAP_ARB

      public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARB
      Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
      See Also:
    • GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB

      public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB
      Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
      See Also:
    • GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB

      public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB
      Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
      See Also:
    • GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB

      public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB
      Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
      See Also:
    • GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB

      public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB
      Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
      See Also:
    • GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB

      public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
      Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
      See Also:
    • GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB

      public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB
      Accepted by the target parameter of GetTexImage, GetTexLevelParameteriv, GetTexLevelParameterfv, TexImage2D, CopyTexImage2D, TexSubImage2D, and CopySubTexImage2D.
      See Also:
    • GL_PROXY_TEXTURE_CUBE_MAP_ARB

      public static final int GL_PROXY_TEXTURE_CUBE_MAP_ARB
      Accepted by the target parameter of GetTexLevelParameteriv, GetTexLevelParameterfv, GetTexParameteriv, and TexImage2D.
      See Also:
    • GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB

      public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB
      Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
      See Also: