glTextureView man page on Oracle

Man page or keyword search:  
man Server   33470 pages
apropos Keyword Search (all sections)
Output format
Oracle logo
[printable version]

GLTEXTUREVIEW(3G)		 OpenGL Manual		     GLTEXTUREVIEW(3G)

NAME
       glTextureView - initialize a texture as a data alias of another
       texture's data store

C SPECIFICATION
       void glTextureView(GLuint texture, GLenum target, GLuint origtexture,
			  GLenum internalformat, GLuint minlevel,
			  GLuint numlevels, GLuint minlayer,
			  GLuint numlayers);

PARAMETERS
       texture
	   Specifies 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 │
       └────────────────────────────────┴──────────────────────────────┘

       The value of GL_TEXTURE_IMMUTABLE_FORMAT for origtexture must be
       GL_TRUE. After initialization, texture inherits the data store of the
       parent texture, origtexture and is usable as a normal texture object
       with target target. Data in the shared store is reinterpreted with the
       new internal format specified by internalformat.	 internalformat must
       be compatible with the internal format of the parent texture as
       specified in the following table:

       ┌──────────────┬─────────────────────────────────────────────────────────┐
       │    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			│
       └──────────────┴─────────────────────────────────────────────────────────┘

       If the original texture is an array or has multiple mipmap levels, the
       parameters minlayer, numlayers, minlevel, and numlevels control which
       of those slices and levels are considered part of the texture. The
       minlevel and minlayer parameters are relative to the view of the
       original texture. If numlayers or numlevels extend beyond the original
       texture, they are clamped to the max extent of the original texture.

       If the new texture's target is GL_TEXTURE_CUBE_MAP, the clamped
       numlayers must be equal to 6. If the new texture's target is
       GL_TEXTURE_CUBE_MAP_ARRAY, then numlayers counts layer-faces rather
       than layers, and the clamped numlayers must be a multiple of 6. If the
       new texture's target is GL_TEXTURE_CUBE_MAP or
       GL_TEXTURE_CUBE_MAP_ARRAY, the width and height of the original
       texture's levels must be equal.

       When the original texture's target is GL_TEXTURE_CUBE_MAP, the layer
       parameters are interpreted in the same order as if it were a
       GL_TEXTURE_CUBE_MAP_ARRAY with 6 layer-faces.

       If target is GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D,
       GL_TEXTURE_RECTANGLE, or GL_TEXTURE_2D_MULTISAMPLE, numlayers must
       equal 1.

       The dimensions of the original texture must be less than or equal to
       the maximum supported dimensions of the new target. For example, if the
       original texture has a GL_TEXTURE_2D_ARRAY target and its width is
       greater than GL_MAX_CUBE_MAP_TEXTURE_SIZE, an error will be generated
       if glTextureView is called to create a GL_TEXTURE_CUBE_MAP view.

       Texture commands that take a level or layer parameter, such as
       glTexSubImage2D(), interpret that parameter to be relative to the view
       of the texture. i.e. the mipmap level of the data store that would be
       updated via TexSubImage2D() would be the sum of level and the value of
       GL_TEXTURE_VIEW_MIN_LEVEL.

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.

SEE ALSO
       glTexStorage1D(), glTexStorage2D(), glTexStorage3D(),
       glGetTexParameter().

COPYRIGHT
       Copyright © 2012 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/.

AUTHORS
       opengl.org

opengl.org			  04/29/2014		     GLTEXTUREVIEW(3G)
[top]

List of man pages available for Oracle

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net