• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1XXX - Not complete yet!!!
2
3Name
4
5    SGIS_clip_band_hint
6
7Name Strings
8
9    GL_SGIS_clip_band_hint
10
11Version
12
13    $Date: 1998/08/07 02:43:19 $ $Revision: 1.1 $
14
15Number
16
17    XXX
18
19Dependencies
20
21    None
22
23Overview
24
25    For graphics systems that decouple geometry processing from the graphics
26    hardware to the host system CPU, it is often beneficial to allow the
27    host processing code not to have to perform clip checking if geometric
28    data is known not to require clipping.  Since many applications already
29    perform some amount of coarse-grained view volume clipping, this
30    information can be reused efficiently to turn clip-checking on or off.
31    In addition, certain graphics subsystems are capable of performing fast
32    2D viewport or, in some cases, 3D volume "scissoring" operations within
33    some coordinate range much faster that the host CPU could re-tesselate
34    clipped primitives.
35
36    This extension introduces the notion of an extended rasterizable view
37    volume that is an expansion of the clip-space view volume.  This volume
38    is the space within which a particular graphics system is much more
39    efficient at rejecting fragments that lie outside the view volume than
40    it is at performing strict view volume clipping.  This extended volume
41    is characterized by queriable implementation dependent expansion factors
42    to the normal view volume.  Clip-checking can be turned on or off
43    through the glHint mechanism.
44
45Issues
46
47    * This extension is essentially a superset of the
48      clip_volume_hint extension.  Do we want to have this extension just
49      introduce the notion of clip band factors instead and use the
50      clip_volume_hint extension for the hint?
51
52    * It is possible that for certain implementation the X, Y and Z factors
53      are dependent the size of the viewport and are thus not necessarily
54      constant throughout the execution of an application.  Is there
55      a better way of describing this and suggesting when to query these
56      factors?
57
58    * Better name?  Should it have a different branding that SGIS?
59
60    * No mention has been made in the description on the effect user clip
61      planes have on the whether the clip-checking hint is honored or not.
62      Clip-checking should probably always be performed for user defined
63      clip planes independent of the state of the hint.
64
65
66New Procedures and Functions
67
68    None
69
70New Tokens
71
72   Accepted by the <target> parameter of Hint and the <pname>
73   parameter of GetBooleanv, GetDoublev, GetFloatv and GetIntegerv:
74
75        CLIP_CHECK_HINT_SGIS	XXXXX
76
77   Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
78   GetFloatv, and GetDoublev:
79
80        CLIP_BAND_FACTOR_X_SGIS	XXXXX
81        CLIP_BAND_FACTOR_Y_SGIS	XXXXX
82        CLIP_BAND_FACTOR_Z_SGIS	XXXXX
83
84Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
85
86    Before the last paragraph of section 2.11 (Clipping), the following text
87    is added: (Should it go in the section 5.6 (Hints) instead?)
88
89    If it is known that primitives lie within the view volume,
90    the clip checking operation may be disabled through the use of the
91    CLIP_CHECK_HINT_SGIS hint.  In addition, clip-checking may be disabled
92    for graphics subsystems that are able to rasterize correctly primitives
93    that extend past the view volume but are still within some rasterizable
94    volume.  This extended clip volume is defined in clip coordinates by,
95
96		-(w_c * bf_x) <= x_c <= (w_c * bf_x)
97		-(w_c * bf_y) <= y_c <= (w_c * bf_y)
98		-(w_c * bf_z) <= z_c <= (w_c * bf_z)
99
100    where bf_x, bf_y and bf_z are implementation dependent values (greater
101    than or equal to 1.0) and can be queried by calling glGet with a
102    <value> of CLIP_BAND_FACTOR_X_SGIS, CLIP_BAND_FACTOR_Y_SGIS and
103    CLIP_BAND_FACTOR_X_SGIS respectively.  Clip-checking is disabled when
104    the <hint> parameter to glHint is FASTEST, it is enabled for all other
105    values.
106
107    Since implementations may choose to base the clip band factors on a
108    function of the viewport size, it is recommended that these factors be
109    queried after the viewport which will be used for rendering has been
110    set.
111
112    Results of rasterization for geometric primitives that extend past the
113    rasterizable volume when clip checking has been disabled are
114    undefined.  Finally, the state of the current raster position is not
115    affected by the value of clip_band_hint and is always clipped against
116    the actual clip volume.
117
118Additions to Chapter 3 of the 1.1 Specification (Rasterization)
119
120    None
121
122Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
123and the Frame Buffer)
124
125    None
126
127Additions to Chapter 5 of the 1.1 Specification (Special Functions)
128
129    To the list of hints in section 5.6 (Hints) add:
130
131    CLIP_CHECK_HINT, indicating whether to turn clip-checking on or off.
132
133Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
134
135    None
136
137Additions to the GLX Specification
138
139    XXX - Not complete yet!!!
140
141GLX Protocol
142
143    XXX - Not complete yet!!!
144
145Errors
146
147
148New State
149
150								Initial
151    Get Value				Get Command	Type	Value		Attrib
152    ---------				-----------	----	-------		------
153
154    CLIP_CHECK_HINT_SGIS		GetIntegerv	Z3	DONT_CARE	Hint
155
156
157New Implementation Dependent State
158
159									Minimum
160    Get Value				Get Command	Type		Value
161    ---------				-----------	----		-------
162
163    CLIP_BAND_FACTOR_X_SGIS		GetFloatv	R		1.0
164    CLIP_BAND_FACTOR_Y_SGIS		GetFloatv	R		1.0
165    CLIP_BAND_FACTOR_Z_SGIS		GetFloatv	R		1.0
166