115 lines
3.6 KiB
Plaintext
115 lines
3.6 KiB
Plaintext
Name
|
|
|
|
ANGLE_clip_cull_distance
|
|
|
|
Name Strings
|
|
|
|
GL_ANGLE_clip_cull_distance
|
|
|
|
Contributors
|
|
|
|
Contributors to EXT_clip_cull_distance
|
|
Members of the WebGL working group
|
|
|
|
Status
|
|
|
|
Draft
|
|
|
|
Version
|
|
|
|
Last Modified Date: December 1, 2022
|
|
Revision: 1
|
|
|
|
Number
|
|
|
|
OpenGL ES Extension XX
|
|
|
|
Dependencies
|
|
|
|
This specification is written against the OpenGL ES 3.2 Specification
|
|
(May 5, 2022), and the OpenGL ES 3.20 Shading Language Specification
|
|
(July 10, 2019) but can apply to prior specifications.
|
|
|
|
OpenGL ES 3.0 and OpenGL ES Shading Language 3.00 are required.
|
|
|
|
Overview
|
|
|
|
This extension has the same semantics as EXT_clip_cull_distance but
|
|
the number of supported cull distances may be zero.
|
|
|
|
New Procedures and Functions
|
|
|
|
None
|
|
|
|
New Tokens
|
|
|
|
Accepted by the <pname> parameters of GetBooleanv, GetIntegerv,
|
|
GetInteger64v, and GetFloatv:
|
|
|
|
MAX_CLIP_DISTANCES_ANGLE 0x0D32
|
|
MAX_CULL_DISTANCES_ANGLE 0x82F9
|
|
MAX_COMBINED_CLIP_AND_CULL_DISTANCES_ANGLE 0x82FA
|
|
|
|
Accepted by the <pname> parameters of Enable, Disable and IsEnabled:
|
|
|
|
CLIP_DISTANCE0_ANGLE 0x3000
|
|
CLIP_DISTANCE1_ANGLE 0x3001
|
|
CLIP_DISTANCE2_ANGLE 0x3002
|
|
CLIP_DISTANCE3_ANGLE 0x3003
|
|
CLIP_DISTANCE4_ANGLE 0x3004
|
|
CLIP_DISTANCE5_ANGLE 0x3005
|
|
CLIP_DISTANCE6_ANGLE 0x3006
|
|
CLIP_DISTANCE7_ANGLE 0x3007
|
|
|
|
Additions to OpenGL ES Shading Language 3.20 Specification
|
|
|
|
Including the following line in a shader can be used to control
|
|
the language features described in this extension:
|
|
|
|
#extension GL_ANGLE_clip_cull_distance : <behavior>
|
|
|
|
where <behavior> is as described in section 3.4.
|
|
|
|
A new preprocessor #define is added to the OpenGL ES Shading Language:
|
|
|
|
#define GL_ANGLE_clip_cull_distance 1
|
|
|
|
Other additions follow the EXT_clip_cull_distance specification.
|
|
|
|
Dependencies on cull distance support
|
|
|
|
If cull distances are not supported, querying MAX_CULL_DISTANCES_ANGLE
|
|
and MAX_COMBINED_CLIP_AND_CULL_DISTANCES_ANGLE must return zero, the
|
|
built-in constants gl_MaxCullDistances and gl_MaxCombinedClipAndCullDistances
|
|
are defined as zero, and gl_CullDistance must not be used in shaders.
|
|
|
|
New State
|
|
|
|
Add the following to Table 21.6 (Transformation State):
|
|
|
|
Initial
|
|
Get Value Type Get Command Value Description Sec.
|
|
-------------------- ------ ----------- -------- ----------------- ----
|
|
CLIP_DISTANCEi_ANGLE 8* x B IsEnabled FALSE ith user clip 12.5
|
|
distance enabled
|
|
|
|
|
|
New Implementation Dependent State
|
|
|
|
Add the following to Table 21.40 (Implementation Dependent Values):
|
|
|
|
Minimum
|
|
Get Value Type Get Command Value Description Sec.
|
|
------------------------ ---- ----------- -------- ----------------- ----
|
|
MAX_CLIP_DISTANCES_ANGLE Z+ GetIntegerv 8 Max. no. of user 12.5
|
|
clip distances
|
|
MAX_CULL_DISTANCES_ANGLE Z+ GetIntegerv 0 Max. no. of user 12.5
|
|
cull distances
|
|
MAX_COMBINED_CLIP_AND- Z+ GetIntegerv 0 Max. combined no. 12.5
|
|
_CULL_DISTANCES_ANGLE of user clip and
|
|
cull distances
|
|
|
|
Revision History
|
|
|
|
12/1/2022 First revision
|