Class EXTTextureArray
This extension introduces the notion of one- and two-dimensional array textures. An array texture is a collection of one- and two-dimensional images of identical size and format, arranged in layers. A one-dimensional array texture is specified using TexImage2D; a two-dimensional array texture is specified using TexImage3D. The height (1D array) or depth (2D array) specify the number of layers in the image.
An array texture is accessed as a single unit in a programmable shader, using a single coordinate vector. A single layer is selected, and that layer is
then accessed as though it were a one- or two-dimensional texture. The layer used is specified using the "t" or "r" texture coordinate for 1D and 2D
array textures, respectively. The layer coordinate is provided as an unnormalized floating-point value in the range [0,<n>-1]
, where
<n>
is the number of layers in the array texture. Texture lookups do not filter between layers, though such filtering can be achieved using
programmable shaders. When mipmapping is used, each level of an array texture has the same number of layers as the base level; the number of layers is
not reduced as the image size decreases.
Array textures can be rendered to by binding them to a framebuffer object (EXT_framebuffer_object). A single layer of an array texture can be bound using normal framebuffer object mechanisms, or an entire array texture can be bound and rendered to using the layered rendering mechanisms provided by NV_geometry_program4.
This extension does not provide for the use of array textures with fixed-function fragment processing. Such support could be added by providing an additional extension allowing applications to pass the new target enumerants (TEXTURE_1D_ARRAY_EXT and TEXTURE_2D_ARRAY_EXT) to Enable and Disable.
Promoted to core in OpenGL 3.0
.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Accepted by theparam
parameter of TexParameterf, TexParameteri, TexParameterfv, and TexParameteriv when thepname
parameter is TEXTURE_COMPARE_MODE_ARB.static final int
COMPARE_REF_DEPTH_TO_TEXTURE_EXT is simply an alias for the existing COMPARE_R_TO_TEXTURE token in OpenGL 2.0; the alternate name reflects the fact that the R coordinate is not always used.) Accepted by thepname
parameter of GetFramebufferAttachmentParameterivEXT.static final int
Accepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv and GetFloatv.static final int
Accepted by thetarget
parameter of TexImage2D, TexSubImage2D, CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D, and CompressedTexSubImage2D.static final int
Accepted by thetarget
parameter of TexImage3D, TexSubImage3D, CopyTexSubImage3D, CompressedTexImage3D, and CompressedTexSubImage3D.static final int
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in EXT_framebuffer_object.static final int
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in EXT_framebuffer_object.static final int
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in EXT_framebuffer_object.static final int
FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in EXT_framebuffer_object.static final int
Accepted by thetarget
parameter of TexParameteri, TexParameteriv, TexParameterf, TexParameterfv, GenerateMipmapEXT, and BindTexture.static final int
Accepted by thetarget
parameter of TexParameteri, TexParameteriv, TexParameterf, TexParameterfv, GenerateMipmapEXT, and BindTexture.static final int
Accepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv and GetFloatv.static final int
Accepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv and GetFloatv. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
glFramebufferTextureLayerEXT
(int target, int attachment, int texture, int level, int layer)
-
Field Details
-
GL_TEXTURE_1D_ARRAY_EXT
public static final int GL_TEXTURE_1D_ARRAY_EXTAccepted by thetarget
parameter of TexParameteri, TexParameteriv, TexParameterf, TexParameterfv, GenerateMipmapEXT, and BindTexture.- See Also:
-
GL_TEXTURE_2D_ARRAY_EXT
public static final int GL_TEXTURE_2D_ARRAY_EXTAccepted by thetarget
parameter of TexParameteri, TexParameteriv, TexParameterf, TexParameterfv, GenerateMipmapEXT, and BindTexture.- See Also:
-
GL_PROXY_TEXTURE_2D_ARRAY_EXT
public static final int GL_PROXY_TEXTURE_2D_ARRAY_EXTAccepted by thetarget
parameter of TexImage3D, TexSubImage3D, CopyTexSubImage3D, CompressedTexImage3D, and CompressedTexSubImage3D.- See Also:
-
GL_PROXY_TEXTURE_1D_ARRAY_EXT
public static final int GL_PROXY_TEXTURE_1D_ARRAY_EXTAccepted by thetarget
parameter of TexImage2D, TexSubImage2D, CopyTexImage2D, CopyTexSubImage2D, CompressedTexImage2D, and CompressedTexSubImage2D.- See Also:
-
GL_TEXTURE_BINDING_1D_ARRAY_EXT
public static final int GL_TEXTURE_BINDING_1D_ARRAY_EXTAccepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv and GetFloatv.- See Also:
-
GL_TEXTURE_BINDING_2D_ARRAY_EXT
public static final int GL_TEXTURE_BINDING_2D_ARRAY_EXTAccepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv and GetFloatv.- See Also:
-
GL_MAX_ARRAY_TEXTURE_LAYERS_EXT
public static final int GL_MAX_ARRAY_TEXTURE_LAYERS_EXTAccepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv and GetFloatv.- See Also:
-
GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT
public static final int GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXTAccepted by theparam
parameter of TexParameterf, TexParameteri, TexParameterfv, and TexParameteriv when thepname
parameter is TEXTURE_COMPARE_MODE_ARB.- See Also:
-
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT
public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXTCOMPARE_REF_DEPTH_TO_TEXTURE_EXT is simply an alias for the existing COMPARE_R_TO_TEXTURE token in OpenGL 2.0; the alternate name reflects the fact that the R coordinate is not always used.) Accepted by thepname
parameter of GetFramebufferAttachmentParameterivEXT.- See Also:
-
GL_SAMPLER_1D_ARRAY_EXT
public static final int GL_SAMPLER_1D_ARRAY_EXTFRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in EXT_framebuffer_object. This extension generalizes the notion of "zoffset
" to include layers of an array texture.) Returned by thetype
parameter of GetActiveUniform.- See Also:
-
GL_SAMPLER_2D_ARRAY_EXT
public static final int GL_SAMPLER_2D_ARRAY_EXTFRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in EXT_framebuffer_object. This extension generalizes the notion of "zoffset
" to include layers of an array texture.) Returned by thetype
parameter of GetActiveUniform.- See Also:
-
GL_SAMPLER_1D_ARRAY_SHADOW_EXT
public static final int GL_SAMPLER_1D_ARRAY_SHADOW_EXTFRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in EXT_framebuffer_object. This extension generalizes the notion of "zoffset
" to include layers of an array texture.) Returned by thetype
parameter of GetActiveUniform.- See Also:
-
GL_SAMPLER_2D_ARRAY_SHADOW_EXT
public static final int GL_SAMPLER_2D_ARRAY_SHADOW_EXTFRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER is simply an alias for the FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT token provided in EXT_framebuffer_object. This extension generalizes the notion of "zoffset
" to include layers of an array texture.) Returned by thetype
parameter of GetActiveUniform.- See Also:
-
-
Method Details
-
glFramebufferTextureLayerEXT
public static void glFramebufferTextureLayerEXT(int target, int attachment, int texture, int level, int layer)
-