15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci SGIX_vertex_preclip 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_SGIX_vertex_preclip 85bd8deadSopenharmony_ci GL_SGIX_vertex_preclip_hint 95bd8deadSopenharmony_ci 105bd8deadSopenharmony_ciContact 115bd8deadSopenharmony_ci 125bd8deadSopenharmony_ci John Francis, Silicon Graphics (jfrancis 'at' sgi.com) 135bd8deadSopenharmony_ci Dave Gorgen, Silicon Graphics (dgorgen 'at' sgi.com) 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ciStatus 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ci XXX - Not complete yet!!! 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ciVersion 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ci Last Modified Date: April 19, 2000 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ciNumber 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ci 210 265bd8deadSopenharmony_ci 275bd8deadSopenharmony_ciDependencies 285bd8deadSopenharmony_ci 295bd8deadSopenharmony_ci OpenGL 1.2 is required. 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ciOverview 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ci Certain graphics subsystems are capable of performing fast 345bd8deadSopenharmony_ci 2D viewport or, in some cases, 3D volume "scissoring" operations 355bd8deadSopenharmony_ci within some coordinate range much faster that the host CPU could 365bd8deadSopenharmony_ci re-tesselate clipped primitives. 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ci This extension introduces the notion of an extended rasterizable view 395bd8deadSopenharmony_ci volume that is an expansion of the clip-space view volume. This volume 405bd8deadSopenharmony_ci is the space within which a particular graphics system is much more 415bd8deadSopenharmony_ci efficient at rejecting fragments that lie outside the view volume than 425bd8deadSopenharmony_ci it is at performing strict view volume clipping. 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ci Clip-checking can be turned on or off through the glEnable/glDisable 455bd8deadSopenharmony_ci mechanism, and can be further controlled by using glHint. 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ciIP Status 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ci None 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ciIssues 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ci Should more precise control be given, instead of just a hint? 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci NO. (Or not yet, anyway). 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ciNew Procedures and Functions 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ci None 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ciNew Tokens 625bd8deadSopenharmony_ci 635bd8deadSopenharmony_ci Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, 645bd8deadSopenharmony_ci and the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, 655bd8deadSopenharmony_ci and GetDoublev: 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ci VERTEX_PRECLIP_SGIX 0x83EE 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ci Accepted by the <target> parameter of Hint and the <pname> parameter 705bd8deadSopenharmony_ci of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: 715bd8deadSopenharmony_ci 725bd8deadSopenharmony_ci VERTEX_PRECLIP_HINT_SGIX 0x83EF 735bd8deadSopenharmony_ci 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.2.1 Specification (OpenGL Operation) 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ci At the end of section 2.11 Clipping Add: 785bd8deadSopenharmony_ci 795bd8deadSopenharmony_ci The precision of the arithmetic used in the clipping operation is 805bd8deadSopenharmony_ci undefined. Some implementations may be able to maintain full 815bd8deadSopenharmony_ci accuracy for all primitives, while other implementations may have 825bd8deadSopenharmony_ci limits on the extent of a primitive, or retain full accuracy only 835bd8deadSopenharmony_ci within some rasterizable volume (larger than the clip volume). 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci Such implementations can make use of the VERTEX_PRECLIP extension. 865bd8deadSopenharmony_ci If this feature is enabled, all primitives will be pre-clipped to 875bd8deadSopenharmony_ci the rasterizable volume before any other processing. 885bd8deadSopenharmony_ci 895bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization) 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ci None 925bd8deadSopenharmony_ci 935bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment 945bd8deadSopenharmony_ciOperations and the Frame Buffer) 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci None 975bd8deadSopenharmony_ci 985bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions) 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ci In section 5.6 Hints: 1015bd8deadSopenharmony_ci 1025bd8deadSopenharmony_ci remove the word 'and' in front of FOG_HINT 1035bd8deadSopenharmony_ci 1045bd8deadSopenharmony_ci replace the period after the description of FOG_HINT with 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ci ; and VERTEX_PRECLIP_HINT, indicating the strictness of 1075bd8deadSopenharmony_ci checking for primitives which extend beyond the rasterizable 1085bd8deadSopenharmony_ci volume. 1095bd8deadSopenharmony_ci 1105bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.2.1 Specification (State and 1115bd8deadSopenharmony_ciState Requests) 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ci Only the changes to tables 6.7 and 6.23 detailed below 1145bd8deadSopenharmony_ci 1155bd8deadSopenharmony_ciAdditions to Appendix A of the OpenGL 1.2.1 Specification (Invariance) 1165bd8deadSopenharmony_ci 1175bd8deadSopenharmony_ci None 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ciAdditions to the AGL/GLX/WGL Specifications 1205bd8deadSopenharmony_ci 1215bd8deadSopenharmony_ci None 1225bd8deadSopenharmony_ci 1235bd8deadSopenharmony_ciErrors 1245bd8deadSopenharmony_ci 1255bd8deadSopenharmony_ci None 1265bd8deadSopenharmony_ci 1275bd8deadSopenharmony_ciNew State 1285bd8deadSopenharmony_ci 1295bd8deadSopenharmony_ci (table 6.7, Transformation State) 1305bd8deadSopenharmony_ci Initial 1315bd8deadSopenharmony_ci Get Value Type Get Command Value Description Sec. Attribute 1325bd8deadSopenharmony_ci --------- ---- ----------- ------- ----------- ---- --------- 1335bd8deadSopenharmony_ci VERTEX_PRECLIP B IsEnabled False Pre-clip On/Off 2.11 transform/enable 1345bd8deadSopenharmony_ci 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ci (table 6.23, Hints) 1375bd8deadSopenharmony_ci Initial 1385bd8deadSopenharmony_ci Get Value Type Get Command Value Description Sec. Attribute 1395bd8deadSopenharmony_ci --------- ---- ----------- ------- ----------- ---- --------- 1405bd8deadSopenharmony_ci VERTEX_PRECLIP_HINT Z3 GetIntegerv DONT_CARE Pre-clip Hint 5.6 hint 1415bd8deadSopenharmony_ci 1425bd8deadSopenharmony_ciNew Implementation Dependent State 1435bd8deadSopenharmony_ci 1445bd8deadSopenharmony_ci None 1455bd8deadSopenharmony_ci 1465bd8deadSopenharmony_ciRevision History 1475bd8deadSopenharmony_ci 148