blob: dced2d10e72792b03b2a4fec6017f3a31d837959 [file] [log] [blame]
Name
SGIX_vertex_preclip
Name Strings
GL_SGIX_vertex_preclip
GL_SGIX_vertex_preclip_hint
Contact
John Francis, Silicon Graphics (jfrancis 'at' sgi.com)
Dave Gorgen, Silicon Graphics (dgorgen 'at' sgi.com)
Status
XXX - Not complete yet!!!
Version
Last Modified Date: April 19, 2000
Number
210
Dependencies
OpenGL 1.2 is required.
Overview
Certain graphics subsystems are capable of performing fast
2D viewport or, in some cases, 3D volume "scissoring" operations
within some coordinate range much faster that the host CPU could
re-tesselate clipped primitives.
This extension introduces the notion of an extended rasterizable view
volume that is an expansion of the clip-space view volume. This volume
is the space within which a particular graphics system is much more
efficient at rejecting fragments that lie outside the view volume than
it is at performing strict view volume clipping.
Clip-checking can be turned on or off through the glEnable/glDisable
mechanism, and can be further controlled by using glHint.
IP Status
None
Issues
Should more precise control be given, instead of just a hint?
NO. (Or not yet, anyway).
New Procedures and Functions
None
New Tokens
Accepted by the <cap> parameter of Enable, Disable, and IsEnabled,
and the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv,
and GetDoublev:
VERTEX_PRECLIP_SGIX 0x83EE
Accepted by the <target> parameter of Hint and the <pname> parameter
of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
VERTEX_PRECLIP_HINT_SGIX 0x83EF
Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation)
At the end of section 2.11 Clipping Add:
The precision of the arithmetic used in the clipping operation is
undefined. Some implementations may be able to maintain full
accuracy for all primitives, while other implementations may have
limits on the extent of a primitive, or retain full accuracy only
within some rasterizable volume (larger than the clip volume).
Such implementations can make use of the VERTEX_PRECLIP extension.
If this feature is enabled, all primitives will be pre-clipped to
the rasterizable volume before any other processing.
Additions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization)
None
Additions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment
Operations and the Frame Buffer)
None
Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions)
In section 5.6 Hints:
remove the word 'and' in front of FOG_HINT
replace the period after the description of FOG_HINT with
; and VERTEX_PRECLIP_HINT, indicating the strictness of
checking for primitives which extend beyond the rasterizable
volume.
Additions to Chapter 6 of the OpenGL 1.2.1 Specification (State and
State Requests)
Only the changes to tables 6.7 and 6.23 detailed below
Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance)
None
Additions to the AGL/GLX/WGL Specifications
None
Errors
None
New State
(table 6.7, Transformation State)
Initial
Get Value Type Get Command Value Description Sec. Attribute
--------- ---- ----------- ------- ----------- ---- ---------
VERTEX_PRECLIP B IsEnabled False Pre-clip On/Off 2.11 transform/enable
(table 6.23, Hints)
Initial
Get Value Type Get Command Value Description Sec. Attribute
--------- ---- ----------- ------- ----------- ---- ---------
VERTEX_PRECLIP_HINT Z3 GetIntegerv DONT_CARE Pre-clip Hint 5.6 hint
New Implementation Dependent State
None
Revision History