table of contents
GLTEXTUREVIEW(3G) | [FIXME: manual] | GLTEXTUREVIEW(3G) |
NAME¶
glTextureView - initialize a texture as a data alias of another texture's data storeC SPECIFICATION¶
void glTextureView(GLuint texture,
GLenum target, GLuint origtexture,
GLenum internalformat,
GLuint minlevel, GLuint numlevels,
GLuint minlayer,
GLuint numlayers);
PARAMETERS¶
textureSpecifies the texture object to be initialized as a
view.
target
Specifies the target to be used for the newly initialized
texture.
origtexture
Specifies the name of a texture object of which to make a
view.
internalFormat
Specifies the internal format for the newly created
view.
minlevel
Specifies lowest level of detail of the view.
numlevels
Specifies the number of levels of detail to include in
the view.
minlayer
Specifies the index of the first layer to include in the
view.
numlayers
Specifies the number of layers to include in the
view.
DESCRIPTION¶
glTextureView initializes a texture object as an alias, or view of another texture object, sharing some or all of the parent texture's data store with the initialized texture. texture specifies a name previously reserved by a successful call to glGenTextures() but that has not yet been bound or given a target. target specifies the target for the newly initialized texture and must be compatible with the target of the parent texture, given in origtexture as specified in the following table:Original Target | Compatible New Targets |
GL_TEXTURE_1D | GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY |
GL_TEXTURE_2D | GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY |
GL_TEXTURE_3D | GL_TEXTURE_3D |
GL_TEXTURE_CUBE_MAP | GL_TEXTURE_CUBE_MAP, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTUER_CUBE_MAP_ARRAY |
GL_TEXTURE_RECTANGLE | GL_TEXTURE_RECTANGLE |
GL_TEXTURE_BUFFER | none |
GL_TEXTURE_1D_ARRAY | GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY |
GL_TEXTURE_2D_ARRAY | GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY |
GL_TEXTURE_CUBE_MAP_ARRAY | GL_TEXTURE_CUBE_MAP, GL_TEXTURE_2D, GL_TEXTURE_2D_ARRAY, GL_TEXTUER_CUBE_MAP_ARRAY |
GL_TEXTURE_2D_MULTISAMPLE | GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_MULTISAMPLE_ARRAY |
GL_TEXTURE_2D_MULTISAMPLE_ARRAY | GL_TEXTURE_2D_MULTISAMPLE, GL_TEXTURE_MULTISAMPLE_ARRAY |
Class | Internal Formats |
128-bit | GL_RGBA32F, GL_RGBA32UI, GL_RGBA32I |
96-bit | GL_RGB32F, GL_RGB32UI, GL_RGB32I |
64-bit | GL_RGBA16F, GL_RG32F, GL_RGBA16UI, GL_RG32UI, GL_RGBA16I, GL_RG32I, GL_RGBA16, GL_RGBA16_SNORM |
48-bit | GL_RGB16, GL_RGB16_SNORM, GL_RGB16F, GL_RGB16UI, GL_RGB16I |
32-bit | GL_RG16F, GL_R11F_G11F_B10F, GL_R32F, GL_RGB10_A2UI, GL_RGBA8UI, GL_RG16UI, GL_R32UI, GL_RGBA8I, GL_RG16I, GL_R32I, GL_RGB10_A2, GL_RGBA8, GL_RG16, GL_RGBA8_SNORM, GL_RG16_SNORM, GL_SRGB8_ALPHA8, GL_RGB9_E5 |
24-bit | GL_RGB8, GL_RGB8_SNORM, GL_SRGB8, GL_RGB8UI, GL_RGB8I |
16-bit | GL_R16F, GL_RG8UI, GL_R16UI, GL_RG8I, GL_R16I, GL_RG8, GL_R16, GL_RG8_SNORM, GL_R16_SNORM |
8-bit | GL_R8UI, GL_R8I, GL_R8, GL_R8_SNORM |
GL_RGTC1_RED | GL_COMPRESSED_RED_RGTC1, GL_COMPRESSED_SIGNED_RED_RGTC1 |
GL_RGTC2_RG | GL_COMPRESSED_RG_RGTC2, GL_COMPRESSED_SIGNED_RG_RGTC2 |
GL_BPTC_UNORM | GL_COMPRESSED_RGBA_BPTC_UNORM, GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM |
GL_BPTC_FLOAT | GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT, GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT |
ERRORS¶
GL_INVALID_VALUE is generated if minlayer or minlevel are larger than the greatest layer or level of origtexture. GL_INVALID_OPERATION is generated if target is not compatible with the target of origtexture. GL_INVALID_OPERATION is generated if the dimensions of origtexture are greater than the maximum supported dimensions for target. GL_INVALID_OPERATION is generated if internalformat is not compatible with the internal format of origtexture. GL_INVALID_OPERATION is generated if texture has already been bound or otherwise given a target. GL_INVALID_OPERATION is generated if the value of GL_TEXTURE_IMMUTABLE_FORMAT for origtexture is not GL_TRUE. GL_INVALID_OPERATION is generated if origtexture is not the name of an existing texture object. GL_INVALID_VALUE is generaged if target is GL_TEXTURE_CUBE_MAP and numlayers is not 6, or if target is GL_TEXTURE_CUBE_MAP_ARRAY and numlayers is not an integer multiple of 6. GL_INVALID_VALUE is generated if target is GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_RECTANGLE, or GL_TEXTURE_2D_MULTISAMPLE and numlayers does not equal 1. GL_INVALID_VALUE is generated if texture zero or is not the name of a texture previously returned from a successful call to glGenTextures().ASSOCIATED GETS¶
glTexParameter() with arguments GL_TEXTURE_VIEW_MIN_LEVEL, GL_TEXTURE_VIEW_NUM_LEVELS, GL_TEXTURE_VIEW_MIN_LAYER, GL_TEXTURE_VIEW_NUM_LAYERS, or GL_TEXTURE_IMMUTABLE_LEVELS.VERSION SUPPORT¶
OpenGL Version | ||||||||||||
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glTextureView | - | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔ |
SEE ALSO¶
glTexStorage1D(), glTexStorage2D(), glTexStorage3D(), glGetTexParameter().COPYRIGHT¶
Copyright © 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.COPYRIGHT¶
Copyright © 2013-2014 Khronos Group08/26/2014 | [FIXME: source] |