1Name 2 3 SGIX_vertex_preclip 4 5Name Strings 6 7 GL_SGIX_vertex_preclip 8 GL_SGIX_vertex_preclip_hint 9 10Contact 11 12 John Francis, Silicon Graphics (jfrancis 'at' sgi.com) 13 Dave Gorgen, Silicon Graphics (dgorgen 'at' sgi.com) 14 15Status 16 17 XXX - Not complete yet!!! 18 19Version 20 21 Last Modified Date: April 19, 2000 22 23Number 24 25 210 26 27Dependencies 28 29 OpenGL 1.2 is required. 30 31Overview 32 33 Certain graphics subsystems are capable of performing fast 34 2D viewport or, in some cases, 3D volume "scissoring" operations 35 within some coordinate range much faster that the host CPU could 36 re-tesselate clipped primitives. 37 38 This extension introduces the notion of an extended rasterizable view 39 volume that is an expansion of the clip-space view volume. This volume 40 is the space within which a particular graphics system is much more 41 efficient at rejecting fragments that lie outside the view volume than 42 it is at performing strict view volume clipping. 43 44 Clip-checking can be turned on or off through the glEnable/glDisable 45 mechanism, and can be further controlled by using glHint. 46 47IP Status 48 49 None 50 51Issues 52 53 Should more precise control be given, instead of just a hint? 54 55 NO. (Or not yet, anyway). 56 57New Procedures and Functions 58 59 None 60 61New Tokens 62 63 Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, 64 and the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, 65 and GetDoublev: 66 67 VERTEX_PRECLIP_SGIX 0x83EE 68 69 Accepted by the <target> parameter of Hint and the <pname> parameter 70 of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: 71 72 VERTEX_PRECLIP_HINT_SGIX 0x83EF 73 74 75Additions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation) 76 77 At the end of section 2.11 Clipping Add: 78 79 The precision of the arithmetic used in the clipping operation is 80 undefined. Some implementations may be able to maintain full 81 accuracy for all primitives, while other implementations may have 82 limits on the extent of a primitive, or retain full accuracy only 83 within some rasterizable volume (larger than the clip volume). 84 85 Such implementations can make use of the VERTEX_PRECLIP extension. 86 If this feature is enabled, all primitives will be pre-clipped to 87 the rasterizable volume before any other processing. 88 89Additions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization) 90 91 None 92 93Additions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment 94Operations and the Frame Buffer) 95 96 None 97 98Additions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions) 99 100 In section 5.6 Hints: 101 102 remove the word 'and' in front of FOG_HINT 103 104 replace the period after the description of FOG_HINT with 105 106 ; and VERTEX_PRECLIP_HINT, indicating the strictness of 107 checking for primitives which extend beyond the rasterizable 108 volume. 109 110Additions to Chapter 6 of the OpenGL 1.2.1 Specification (State and 111State Requests) 112 113 Only the changes to tables 6.7 and 6.23 detailed below 114 115Additions to Appendix A of the OpenGL 1.2.1 Specification (Invariance) 116 117 None 118 119Additions to the AGL/GLX/WGL Specifications 120 121 None 122 123Errors 124 125 None 126 127New State 128 129 (table 6.7, Transformation State) 130 Initial 131 Get Value Type Get Command Value Description Sec. Attribute 132 --------- ---- ----------- ------- ----------- ---- --------- 133 VERTEX_PRECLIP B IsEnabled False Pre-clip On/Off 2.11 transform/enable 134 135 136 (table 6.23, Hints) 137 Initial 138 Get Value Type Get Command Value Description Sec. Attribute 139 --------- ---- ----------- ------- ----------- ---- --------- 140 VERTEX_PRECLIP_HINT Z3 GetIntegerv DONT_CARE Pre-clip Hint 5.6 hint 141 142New Implementation Dependent State 143 144 None 145 146Revision History 147 148