15bd8deadSopenharmony_ciXXX - Not complete yet!!! 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ciName 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ci SGIX_shadow 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ciName Strings 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ci GL_SGIX_shadow 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ciVersion 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ci $Date: 1997/08/27 19:54:45 $ $Revision: 1.15 $ 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ciNumber 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ci 34 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ciDependencies 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ci None. 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ciOverview 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ci This extension defines two new operations to be performed on texture 265bd8deadSopenharmony_ci values before they are passed on to the filtering subsystem. These 275bd8deadSopenharmony_ci operations perform either a <= or >= test on the value from texture 285bd8deadSopenharmony_ci memory and the iterated R value, and return 1.0 or 0.0 if the test 295bd8deadSopenharmony_ci passes or fails, respectively. 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ciNew Procedures and Functions 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ci None 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ciNew Tokens 365bd8deadSopenharmony_ci 375bd8deadSopenharmony_ci Accepted by the <pname> parameter of TexParameterf, TexParameteri, 385bd8deadSopenharmony_ci TexParameterfv, TexParameteriv, GetTexParameterfv, and 395bd8deadSopenharmony_ci GetTexParameteriv, with the <pname> parameter of TRUE or FALSE: 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci TEXTURE_COMPARE_SGIX 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ci Accepted by the <pname> parameter of TexParameterf, TexParameteri, 445bd8deadSopenharmony_ci TexParameterfv, TexParameteriv, GetTexParameterfv, and 455bd8deadSopenharmony_ci GetTexParameteriv: 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ci TEXTURE_COMPARE_OPERATOR_SGIX 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ci Accepted by the <param> parameter of TexParameterf and TexParameteri, 505bd8deadSopenharmony_ci and by the <params> parameter of TexParameterfv and TexParameteriv, 515bd8deadSopenharmony_ci when their <pname> parameter is TEXTURE_COMPARE_OPERATOR_SGIX: 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ci TEXTURE_LEQUAL_R_SGIX 545bd8deadSopenharmony_ci TEXTURE_GEQUAL_R_SGIX 555bd8deadSopenharmony_ci 565bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 575bd8deadSopenharmony_ci 585bd8deadSopenharmony_ci None 595bd8deadSopenharmony_ci 605bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ci XXX - lots 635bd8deadSopenharmony_ci 645bd8deadSopenharmony_ci GL Specification Table 3.8 is updated as follows: 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ci Name Type Legal Values 675bd8deadSopenharmony_ci ---- ---- ------------ 685bd8deadSopenharmony_ci TEXTURE_WRAP_S integer CLAMP, REPEAT 695bd8deadSopenharmony_ci TEXTURE_WRAP_T integer CLAMP, REPEAT 705bd8deadSopenharmony_ci TEXTURE_WRAP_R_EXT integer CLAMP, REPEAT 715bd8deadSopenharmony_ci TEXTURE_MIN_FILTER integer NEAREST, LINEAR, 725bd8deadSopenharmony_ci NEAREST_MIPMAP_NEAREST, 735bd8deadSopenharmony_ci NEAREST_MIPMAP_LINEAR, 745bd8deadSopenharmony_ci LINEAR_MIPMAP_NEAREST, 755bd8deadSopenharmony_ci LINEAR_MIPMAP_LINEAR, 765bd8deadSopenharmony_ci FILTER4_SGIS, 775bd8deadSopenharmony_ci LINEAR_CLIPMAP_LINEAR_SGIX 785bd8deadSopenharmony_ci TEXTURE_MAG_FILTER integer NEAREST, LINEAR, 795bd8deadSopenharmony_ci FILTER4_SGIS, 805bd8deadSopenharmony_ci LINEAR_DETAIL_SGIS, 815bd8deadSopenharmony_ci LINEAR_DETAIL_ALPHA_SGIS, 825bd8deadSopenharmony_ci LINEAR_DETAIL_COLOR_SGIS, 835bd8deadSopenharmony_ci LINEAR_SHARPEN_SGIS, 845bd8deadSopenharmony_ci LINEAR_SHARPEN_ALPHA_SGIS, 855bd8deadSopenharmony_ci LINEAR_SHARPEN_COLOR_SGIS, 865bd8deadSopenharmony_ci TEXTURE_BORDER_COLOR 4 floats any 4 values in [0,1] 875bd8deadSopenharmony_ci DETAIL_TEXTURE_LEVEL_SGIS integer any non-negative integer 885bd8deadSopenharmony_ci DETAIL_TEXTURE_MODE_SGIS integer ADD, MODULATE 895bd8deadSopenharmony_ci TEXTURE_MIN_LOD_SGIS float any value 905bd8deadSopenharmony_ci TEXTURE_MAX_LOD_SGIS float any value 915bd8deadSopenharmony_ci TEXTURE_BASE_LEVEL_SGIS integer any non-negative integer 925bd8deadSopenharmony_ci TEXTURE_MAX_LEVEL_SGIS integer any non-negative integer 935bd8deadSopenharmony_ci GENERATE_MIPMAP_SGIS boolean TRUE or FALSE 945bd8deadSopenharmony_ci TEXTURE_CLIPMAP_OFFSET_SGIX 2 floats any 2 values 955bd8deadSopenharmony_ci TEXTURE_COMPARE_SGIX boolean TRUE or FALSE 965bd8deadSopenharmony_ci TEXTURE_COMPARE_OPERATOR_SGIX integer TEXTURE_LEQUAL_R_SGIX, 975bd8deadSopenharmony_ci TEXTURE_GEQUAL_R_SGIX 985bd8deadSopenharmony_ci 995bd8deadSopenharmony_ci Table 3.8: Texture parameters and their values. 1005bd8deadSopenharmony_ci 1015bd8deadSopenharmony_ci Notes: 1025bd8deadSopenharmony_ci 1035bd8deadSopenharmony_ci * Two new texture operators are defined which alter the sampled texture 1045bd8deadSopenharmony_ci values before they are filtered. These operators are defined only for 1055bd8deadSopenharmony_ci textures with internal format DEPTH_COMPONENT or DEPTH_COMPONENTS*_SGI. 1065bd8deadSopenharmony_ci 1075bd8deadSopenharmony_ci * The new operators compare the sample texel value to the value of the 1085bd8deadSopenharmony_ci third texture coordinate, R. The texture components are treated as though 1095bd8deadSopenharmony_ci they range from 0.0 through 1.0. The value of the test is zero if the 1105bd8deadSopenharmony_ci test fails, and one if it passes. 1115bd8deadSopenharmony_ci 1125bd8deadSopenharmony_ci * The test for operator TEXTURE_LEQUAL_R_SGIX passes if the texel value 1135bd8deadSopenharmony_ci is less than or equal to R. The test for operator TEXTURE_GEQUAL_R_SGIX 1145bd8deadSopenharmony_ci passes if the texel value is greater than or equal to R. 1155bd8deadSopenharmony_ci 1165bd8deadSopenharmony_ci * The modified texels (with value 0.0 or 1.0 depending on 1175bd8deadSopenharmony_ci the test result) are treated as if the texture internal format 1185bd8deadSopenharmony_ci were LUMINANCE. 1195bd8deadSopenharmony_ci 1205bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 1215bd8deadSopenharmony_ciand the Frame Buffer) 1225bd8deadSopenharmony_ci 1235bd8deadSopenharmony_ci None 1245bd8deadSopenharmony_ci 1255bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions) 1265bd8deadSopenharmony_ci 1275bd8deadSopenharmony_ci None 1285bd8deadSopenharmony_ci 1295bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests) 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ci The texture compare operator is queried by calling GetTexParameteriv 1325bd8deadSopenharmony_ci and GetTexParameterfv with <pname> set to 1335bd8deadSopenharmony_ci TEXTURE_COMPARE_OPERATOR_SGIX. Texture compare enable/disable state 1345bd8deadSopenharmony_ci is queried by calling GetTexParameteriv or GetTexParameterif with 1355bd8deadSopenharmony_ci <pname> TEXTURE_COMPARE_SGIX. 1365bd8deadSopenharmony_ci 1375bd8deadSopenharmony_ciAdditions to the GLX Specification 1385bd8deadSopenharmony_ci 1395bd8deadSopenharmony_ci None 1405bd8deadSopenharmony_ci 1415bd8deadSopenharmony_ciErrors 1425bd8deadSopenharmony_ci 1435bd8deadSopenharmony_ci INVALID_OPERATION is generated if TexParameter[if] parameter <pname> 1445bd8deadSopenharmony_ci is TEXTURE_COMPARE_OPERATOR_SGIX and parameter <param> is not 1455bd8deadSopenharmony_ci TEXTURE_LEQUAL_R_SGIX,or TEXTURE_GEQUAL_R_SGIX. 1465bd8deadSopenharmony_ci 1475bd8deadSopenharmony_ciNew State 1485bd8deadSopenharmony_ci 1495bd8deadSopenharmony_ciGet Value Get Command Type Initial Value Attribute 1505bd8deadSopenharmony_ci--------- ----------- ---- ------------- --------- 1515bd8deadSopenharmony_ciTEXTURE_COMPARE_SGIX GetTexParameter[if]v B False texture 1525bd8deadSopenharmony_ciTEXTURE_COMPARE_OPERATOR_SGIX GetTexParameter[if]v Z_2 TEXTURE_LEQUAL_R_SGIX texture 1535bd8deadSopenharmony_ci 1545bd8deadSopenharmony_ci 1555bd8deadSopenharmony_ciNew Implementation Dependent State 1565bd8deadSopenharmony_ci 1575bd8deadSopenharmony_ci None 1585bd8deadSopenharmony_ci 1595bd8deadSopenharmony_ciNVIDIA Implementation Details 1605bd8deadSopenharmony_ci 1615bd8deadSopenharmony_ci The specification is unclear if the R texture coordinate is 1625bd8deadSopenharmony_ci clamped to the range [0,1]. NVIDIA hardware supporting this 1635bd8deadSopenharmony_ci extension does clamp the R texture coordinate to the range [0,1] 1645bd8deadSopenharmony_ci on a per-fragment basis. 1655bd8deadSopenharmony_ci 1665bd8deadSopenharmony_ci The behavior of the NV_register_combiners SIGNED_NEGATE_NV mapping 1675bd8deadSopenharmony_ci mode is undefined when used to map the initial value of a texture 1685bd8deadSopenharmony_ci register corresponding to an enabled texture with a base internal 1695bd8deadSopenharmony_ci format of GL_DEPTH_COMPONENT and a true TEXTURE_COMPARE_SGIX 1705bd8deadSopenharmony_ci mode when multiple enabled textures have different values for 1715bd8deadSopenharmony_ci TEXTURE_COMPARE_OPERATOR_SGIX. Values subsequently assigned to 1725bd8deadSopenharmony_ci such registers and then mapped with SIGNED_NEGATIE_NV operate 1735bd8deadSopenharmony_ci as expected. 174