15bd8deadSopenharmony_ciXXX - Not complete yet!!!
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ciName
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ci    SGIS_clip_band_hint
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ciName Strings
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ci    GL_SGIS_clip_band_hint
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ciVersion
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ci    $Date: 1998/08/07 02:43:19 $ $Revision: 1.1 $
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ciNumber
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ci    XXX
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ciDependencies
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ci    None
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ciOverview
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ci    For graphics systems that decouple geometry processing from the graphics
265bd8deadSopenharmony_ci    hardware to the host system CPU, it is often beneficial to allow the
275bd8deadSopenharmony_ci    host processing code not to have to perform clip checking if geometric
285bd8deadSopenharmony_ci    data is known not to require clipping.  Since many applications already
295bd8deadSopenharmony_ci    perform some amount of coarse-grained view volume clipping, this
305bd8deadSopenharmony_ci    information can be reused efficiently to turn clip-checking on or off.  
315bd8deadSopenharmony_ci    In addition, certain graphics subsystems are capable of performing fast 
325bd8deadSopenharmony_ci    2D viewport or, in some cases, 3D volume "scissoring" operations within
335bd8deadSopenharmony_ci    some coordinate range much faster that the host CPU could re-tesselate
345bd8deadSopenharmony_ci    clipped primitives.
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ci    This extension introduces the notion of an extended rasterizable view
375bd8deadSopenharmony_ci    volume that is an expansion of the clip-space view volume.  This volume
385bd8deadSopenharmony_ci    is the space within which a particular graphics system is much more
395bd8deadSopenharmony_ci    efficient at rejecting fragments that lie outside the view volume than
405bd8deadSopenharmony_ci    it is at performing strict view volume clipping.  This extended volume 
415bd8deadSopenharmony_ci    is characterized by queriable implementation dependent expansion factors
425bd8deadSopenharmony_ci    to the normal view volume.  Clip-checking can be turned on or off 
435bd8deadSopenharmony_ci    through the glHint mechanism.
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ciIssues
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ci    * This extension is essentially a superset of the 
485bd8deadSopenharmony_ci      clip_volume_hint extension.  Do we want to have this extension just
495bd8deadSopenharmony_ci      introduce the notion of clip band factors instead and use the
505bd8deadSopenharmony_ci      clip_volume_hint extension for the hint?
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ci    * It is possible that for certain implementation the X, Y and Z factors 
535bd8deadSopenharmony_ci      are dependent the size of the viewport and are thus not necessarily 
545bd8deadSopenharmony_ci      constant throughout the execution of an application.  Is there 
555bd8deadSopenharmony_ci      a better way of describing this and suggesting when to query these 
565bd8deadSopenharmony_ci      factors?
575bd8deadSopenharmony_ci
585bd8deadSopenharmony_ci    * Better name?  Should it have a different branding that SGIS?
595bd8deadSopenharmony_ci
605bd8deadSopenharmony_ci    * No mention has been made in the description on the effect user clip
615bd8deadSopenharmony_ci      planes have on the whether the clip-checking hint is honored or not.  
625bd8deadSopenharmony_ci      Clip-checking should probably always be performed for user defined 
635bd8deadSopenharmony_ci      clip planes independent of the state of the hint.
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_ciNew Procedures and Functions
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ci    None
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ciNew Tokens
715bd8deadSopenharmony_ci
725bd8deadSopenharmony_ci   Accepted by the <target> parameter of Hint and the <pname>
735bd8deadSopenharmony_ci   parameter of GetBooleanv, GetDoublev, GetFloatv and GetIntegerv:
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci        CLIP_CHECK_HINT_SGIS	XXXXX
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci   Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, 
785bd8deadSopenharmony_ci   GetFloatv, and GetDoublev:
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci        CLIP_BAND_FACTOR_X_SGIS	XXXXX
815bd8deadSopenharmony_ci        CLIP_BAND_FACTOR_Y_SGIS	XXXXX
825bd8deadSopenharmony_ci        CLIP_BAND_FACTOR_Z_SGIS	XXXXX
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
855bd8deadSopenharmony_ci
865bd8deadSopenharmony_ci    Before the last paragraph of section 2.11 (Clipping), the following text
875bd8deadSopenharmony_ci    is added: (Should it go in the section 5.6 (Hints) instead?)
885bd8deadSopenharmony_ci
895bd8deadSopenharmony_ci    If it is known that primitives lie within the view volume,
905bd8deadSopenharmony_ci    the clip checking operation may be disabled through the use of the
915bd8deadSopenharmony_ci    CLIP_CHECK_HINT_SGIS hint.  In addition, clip-checking may be disabled
925bd8deadSopenharmony_ci    for graphics subsystems that are able to rasterize correctly primitives
935bd8deadSopenharmony_ci    that extend past the view volume but are still within some rasterizable
945bd8deadSopenharmony_ci    volume.  This extended clip volume is defined in clip coordinates by,
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ci		-(w_c * bf_x) <= x_c <= (w_c * bf_x)
975bd8deadSopenharmony_ci		-(w_c * bf_y) <= y_c <= (w_c * bf_y)
985bd8deadSopenharmony_ci		-(w_c * bf_z) <= z_c <= (w_c * bf_z)
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    where bf_x, bf_y and bf_z are implementation dependent values (greater
1015bd8deadSopenharmony_ci    than or equal to 1.0) and can be queried by calling glGet with a 
1025bd8deadSopenharmony_ci    <value> of CLIP_BAND_FACTOR_X_SGIS, CLIP_BAND_FACTOR_Y_SGIS and 
1035bd8deadSopenharmony_ci    CLIP_BAND_FACTOR_X_SGIS respectively.  Clip-checking is disabled when 
1045bd8deadSopenharmony_ci    the <hint> parameter to glHint is FASTEST, it is enabled for all other
1055bd8deadSopenharmony_ci    values.
1065bd8deadSopenharmony_ci
1075bd8deadSopenharmony_ci    Since implementations may choose to base the clip band factors on a
1085bd8deadSopenharmony_ci    function of the viewport size, it is recommended that these factors be
1095bd8deadSopenharmony_ci    queried after the viewport which will be used for rendering has been 
1105bd8deadSopenharmony_ci    set.
1115bd8deadSopenharmony_ci
1125bd8deadSopenharmony_ci    Results of rasterization for geometric primitives that extend past the 
1135bd8deadSopenharmony_ci    rasterizable volume when clip checking has been disabled are 
1145bd8deadSopenharmony_ci    undefined.  Finally, the state of the current raster position is not 
1155bd8deadSopenharmony_ci    affected by the value of clip_band_hint and is always clipped against 
1165bd8deadSopenharmony_ci    the actual clip volume.
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.1 Specification (Rasterization)
1195bd8deadSopenharmony_ci
1205bd8deadSopenharmony_ci    None
1215bd8deadSopenharmony_ci
1225bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
1235bd8deadSopenharmony_ciand the Frame Buffer)
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ci    None
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.1 Specification (Special Functions)
1285bd8deadSopenharmony_ci
1295bd8deadSopenharmony_ci    To the list of hints in section 5.6 (Hints) add:
1305bd8deadSopenharmony_ci
1315bd8deadSopenharmony_ci    CLIP_CHECK_HINT, indicating whether to turn clip-checking on or off.
1325bd8deadSopenharmony_ci
1335bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.1 Specification (State and State Requests)
1345bd8deadSopenharmony_ci
1355bd8deadSopenharmony_ci    None
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ciAdditions to the GLX Specification
1385bd8deadSopenharmony_ci
1395bd8deadSopenharmony_ci    XXX - Not complete yet!!!
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ciGLX Protocol
1425bd8deadSopenharmony_ci
1435bd8deadSopenharmony_ci    XXX - Not complete yet!!!
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ciErrors
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ci
1485bd8deadSopenharmony_ciNew State
1495bd8deadSopenharmony_ci
1505bd8deadSopenharmony_ci								Initial
1515bd8deadSopenharmony_ci    Get Value				Get Command	Type	Value		Attrib
1525bd8deadSopenharmony_ci    ---------				-----------	----	-------		------
1535bd8deadSopenharmony_ci
1545bd8deadSopenharmony_ci    CLIP_CHECK_HINT_SGIS		GetIntegerv	Z3	DONT_CARE	Hint
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ci
1575bd8deadSopenharmony_ciNew Implementation Dependent State
1585bd8deadSopenharmony_ci
1595bd8deadSopenharmony_ci									Minimum
1605bd8deadSopenharmony_ci    Get Value				Get Command	Type		Value
1615bd8deadSopenharmony_ci    ---------				-----------	----		-------
1625bd8deadSopenharmony_ci    
1635bd8deadSopenharmony_ci    CLIP_BAND_FACTOR_X_SGIS		GetFloatv	R		1.0
1645bd8deadSopenharmony_ci    CLIP_BAND_FACTOR_Y_SGIS		GetFloatv	R		1.0
1655bd8deadSopenharmony_ci    CLIP_BAND_FACTOR_Z_SGIS		GetFloatv	R		1.0
166