зеркало из https://github.com/AvaloniaUI/angle.git
175 строки
7.5 KiB
Plaintext
175 строки
7.5 KiB
Plaintext
Name
|
|
|
|
ANGLE_get_tex_level_parameter
|
|
|
|
Name Strings
|
|
|
|
GL_ANGLE_get_tex_level_parameter
|
|
|
|
Contributors
|
|
|
|
Geoff Lang, Google
|
|
|
|
Contact
|
|
|
|
Geoff Lang (geofflang 'at' google.com)
|
|
|
|
Status
|
|
|
|
Incomplete
|
|
|
|
Version
|
|
|
|
Last Modified Date: Oct 12, 2020
|
|
Author Revision: 1
|
|
|
|
Number
|
|
|
|
OpenGL ES Extension XX
|
|
|
|
Dependencies
|
|
|
|
OpenGL ES 2.0 is required.
|
|
|
|
This extension is written against the OpenGL ES 3.0.5 specification.
|
|
|
|
Overview
|
|
|
|
This extension allows the user to query information about specific texture
|
|
levels exposed later in OpenGL ES 3.1.
|
|
|
|
IP Status
|
|
|
|
No known IP claims.
|
|
|
|
New Procedures and Functions
|
|
|
|
void GetTexLevelParameter{if}vANGLE(enum target, int level,
|
|
enum pname, T *params );
|
|
|
|
New Tokens
|
|
|
|
Accepted by the <pname> parameter of GetTexLevelParameter{if}vANGLE:
|
|
|
|
TEXTURE_WIDTH 0x1000
|
|
TEXTURE_HEIGHT 0x1001
|
|
TEXTURE_DEPTH 0x8071
|
|
TEXTURE_INTERNAL_FORMAT 0x1003
|
|
TEXTURE_RED_SIZE 0x805C
|
|
TEXTURE_GREEN_SIZE 0x805D
|
|
TEXTURE_BLUE_SIZE 0x805E
|
|
TEXTURE_ALPHA_SIZE 0x805F
|
|
TEXTURE_DEPTH_SIZE 0x884A
|
|
TEXTURE_STENCIL_SIZE 0x88F1
|
|
TEXTURE_SHARED_SIZE 0x8C3F
|
|
TEXTURE_RED_TYPE 0x8C10
|
|
TEXTURE_GREEN_TYPE 0x8C11
|
|
TEXTURE_BLUE_TYPE 0x8C12
|
|
TEXTURE_ALPHA_TYPE 0x8C13
|
|
TEXTURE_DEPTH_TYPE 0x8C16
|
|
TEXTURE_COMPRESSED 0x86A1
|
|
|
|
Additions to Chapter 6 of the OpenGL ES 3.0.5 Specification (State and State
|
|
Requests)
|
|
|
|
Modify Section 6.1.4 "Texture Queries":
|
|
|
|
(Add the following text to the end of the section)
|
|
|
|
The commands
|
|
|
|
void GetTexLevelParameter{if}vANGLE(enum target, int level,
|
|
enum pname, T *params );
|
|
|
|
place information about texture image parameter <pname> for level-of-detail
|
|
<level> of the specified target into <params>. <pname> must be one of the
|
|
symbolic values in table 6.11.
|
|
|
|
<target> may be one of TEXTURE_2D or one of the cube map face targets from
|
|
table 3.18, indicating the two-dimensional texture or one of the six distinct
|
|
2D images making up the cube map texture object. Otherwise an INVALID_ENUM is
|
|
generated.
|
|
|
|
<level> determines which level-of-detail's state is returned. If <level>
|
|
is negative or larger than the maximum allowable level-of-detail, then an
|
|
INVALID_VALUE error is generated.
|
|
|
|
Note that TEXTURE_CUBE_MAP is not a valid <target> parameter for
|
|
GetTexLevelParameter{if}vANGLE, because it does not specify a particular
|
|
cube map face.
|
|
|
|
For texture images with uncompressed internal formats, queries of
|
|
<pname> TEXTURE_RED_TYPE, TEXTURE_GREEN_TYPE, TEXTURE_BLUE_TYPE,
|
|
TEXTURE_ALPHA_TYPE, and TEXTURE_DEPTH_TYPE return the data type used
|
|
to store the component. Types NONE, SIGNED_NORMALIZED, UNSIGNED_-
|
|
NORMALIZED, FLOAT, INT, and UNSIGNED_INT respectively indicate missing,
|
|
signed normalized fixed-point, unsigned normalized fixed-point,
|
|
floating-point, signed unnormalized integer, and unsigned unnormalized
|
|
integer components. Queries of <pname> TEXTURE_RED_SIZE, TEXTURE_GREEN_SIZE,
|
|
TEXTURE_BLUE_SIZE, TEXTURE_ALPHA_SIZE, TEXTURE_DEPTH_SIZE,
|
|
TEXTURE_STENCIL_SIZE, and TEXTURE_SHARED_SIZE return the actual resolutions
|
|
of the stored image components, not the resolutions specified when the image
|
|
was defined. Invalid <pname> generate an INVALID_ENUM error.
|
|
|
|
For texture images with compressed internal formats, the types returned
|
|
specify how components are interpreted after decompression, while the
|
|
resolutions returned specify the component resolution of an uncompressed
|
|
internal format that produces an image of roughly the same quality as the
|
|
compressed image in question. Since the quality of the implementation's
|
|
compression algorithm is likely data-dependent, the returned component sizes
|
|
should be treated only as rough approximations.
|
|
|
|
Queries of <pname> TEXTURE_INTERNAL_FORMAT, TEXTURE_WIDTH, TEXTURE_HEIGHT,
|
|
and TEXTURE_DEPTH return the internal format, width, height, and depth,
|
|
respectively, as specified when the image array was created.
|
|
|
|
Errors
|
|
|
|
The error INVALID_ENUM is generated by GetTexLevelParameter{if}vANGLE
|
|
if <target> is not one of TEXTURE_2D, TEXTURE_3D, TEXTURE_2D_ARRAY, one of
|
|
the cube map face targets from table 3.18, or TEXTURE_2D_MULTISAMPLE_ANGLE.
|
|
|
|
The error INVALID_VALUE is generated by GetTexLevelParameter{if}vANGLE
|
|
if <level> is negative or larger than the maximum allowable level-of-detail.
|
|
|
|
The error INVALID_ENUM is generated by GetTexLevelParameter{if}vANGLE
|
|
if <value> is not one of TEXTURE_RED_TYPE, TEXTURE_GREEN_TYPE,
|
|
TEXTURE_BLUE_TYPE, TEXTURE_ALPHA_TYPE, TEXTURE_DEPTH_TYPE,
|
|
TEXTURE_DEPTH_SIZE, TEXTURE_STENCIL_SIZE, TEXTURE_SHARED_SIZE,
|
|
TEXTURE_WIDTH, TEXTURE_HEIGHT, TEXTURE_DEPTH, TEXTURE_INTERNAL_FORMAT,
|
|
TEXTURE_RED_SIZE, TEXTURE_GREEN_SIZE, TEXTURE_BLUE_SIZE, TEXTURE_ALPHA_SIZE,
|
|
or TEXTURE_COMPRESSED.
|
|
|
|
New State
|
|
|
|
(add new table 6.10, Textures (state per texture image), renumber subsequent tables)
|
|
|
|
Initial
|
|
Get Value Type Get Command Value Description Sec.
|
|
---------------------- ---- ------------------- ------ --------------------------- ------
|
|
TEXTURE_WIDTH Z+ GetTexLevelParameterANGLE 0 Specified width 3.8
|
|
TEXTURE_HEIGHT Z+ GetTexLevelParameterANGLE 0 Specified height (2D/3D) 3.8
|
|
TEXTURE_DEPTH Z+ GetTexLevelParameterANGLE 0 Specified depth (3D) 3.8
|
|
TEXTURE_INTERNAL_FORMAT E GetTexLevelParameterANGLE RGBA Internal format 3.8
|
|
or R8 (see section 3.8.14)
|
|
TEXTURE_x_SIZE 6xZ+ GetTexLevelParameterANGLE 0 Component resolution (x is 3.8
|
|
RED, GREEN, BLUE, ALPHA,
|
|
DEPTH, or STENCIL)
|
|
TEXTURE_SHARED_SIZE Z+ GetTexLevelParameterANGLE 0 Shared exponent field 3.8
|
|
resolution
|
|
TEXTURE_x_TYPE E GetTexLevelParameterANGLE NONE Component type (x is RED, 6.1.4
|
|
GREEN, BLUE, ALPHA, or
|
|
DEPTH)
|
|
TEXTURE_COMPRESSED B GetTexLevelParameterANGLE FALSE True if image has a 3.8.6
|
|
compressed internal format
|
|
|
|
Issues
|
|
None
|
|
|
|
Revision History
|
|
|
|
Rev. Date Author Changes
|
|
---- -------- ---------- --------------------------------------------
|
|
1 14/10/20 Geoff Lang First revision. Adapted from OpenGL ES
|
|
specification 3.1.
|