21.06.2014 Views

OpenGL 4.2 (Compatibility Profile) - April 27, 2012

OpenGL 4.2 (Compatibility Profile) - April 27, 2012

OpenGL 4.2 (Compatibility Profile) - April 27, 2012

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.10. TEXTURING 347<br />

There is no image or non-level-related state associated with proxy textures.<br />

Therefore they may not be used as textures, and calling BindTexture, GetTex-<br />

Image, GetTexParameteriv, or GetTexParameterfv with a proxy texture target<br />

generates an INVALID_ENUM error.<br />

3.10.16 Immutable-Format Texture Images<br />

An alternative set of commands is provided for specifying the properties of all<br />

levels of a texture at once. Once a texture is specified with such a command, the<br />

format and dimensions of all levels becomes immutable, unless it is a proxy texture<br />

(since otherwise it would no longer be possible to use the proxy). The contents of<br />

the images and the parameters can still be modified. Such a texture is referred<br />

to as an immutable-format texture. The immutability status of a texture can be<br />

determined by calling GetTexParameter with pname TEXTURE_IMMUTABLE_-<br />

FORMAT.<br />

Each of the commands below is described by pseudocode which indicates the<br />

effect on the dimensions and format of the texture. For all of the commands, the<br />

following apply in addition to the pseudocode:<br />

• If the default texture object is bound to target, an INVALID_OPERATION<br />

error is generated.<br />

• If executing the pseudo-code would result in a OUT_OF_MEMORY error, the<br />

error is generated and the results of executing the command are undefined.<br />

• If executing the pseudocode would result in any other error, the error is generated<br />

and the command will have no effect.<br />

• Any existing levels that are not replaced are reset to their initial state.<br />

• If width, height, depth or levels are less than 1, an INVALID_VALUE error is<br />

generated.<br />

• The pixel unpack buffer should be considered to be zero; i.e., the image<br />

contents are unspecified.<br />

• Since no pixel data are provided, the format and type values used in the<br />

pseudocode are irrelevant; they can be considered to be any values that are<br />

legal to use with internalformat.<br />

• If the command is successful, TEXTURE_IMMUTABLE_FORMAT becomes<br />

TRUE.<br />

<strong>OpenGL</strong> <strong>4.2</strong> (<strong>Compatibility</strong> <strong>Profile</strong>) - <strong>April</strong> <strong>27</strong>, <strong>2012</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!