15bd8deadSopenharmony_ciXXX - Not complete yet!!! 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ciName 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ci EXT_index_func 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ciName Strings 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ci GL_EXT_index_func 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ciVersion 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ci $Date: 1996/11/21 00:52:23 $ $Revision: 1.3 $ 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ciNumber 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ci 95 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ciDependencies 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ci None 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ciOverview 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ci This extension provides a way to discard fragments when a comparison 265bd8deadSopenharmony_ci between the fragment's index value and a reference index fails. This 275bd8deadSopenharmony_ci may be used similarly to the alpha test which is available in RGBA mode. 285bd8deadSopenharmony_ci 295bd8deadSopenharmony_ciNew Procedures and Functions 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ci void IndexFuncEXT (enum func, float ref) 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ciNew Tokens 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ci Accepted by the <cap> parameter of Enable, Disable, and IsEnabled, 365bd8deadSopenharmony_ci and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, 375bd8deadSopenharmony_ci and GetDoublev: 385bd8deadSopenharmony_ci 395bd8deadSopenharmony_ci INDEX_TEST_EXT 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, 425bd8deadSopenharmony_ci GetFloatv, and GetDoublev: 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ci INDEX_TEST_FUNC_EXT 455bd8deadSopenharmony_ci INDEX_TEST_REF_EXT 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.1 Specification (OpenGL Operation) 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ci None 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.1 Specification (Rasterization) 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ci None 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations 565bd8deadSopenharmony_ciand the Frame Buffer) 575bd8deadSopenharmony_ci 585bd8deadSopenharmony_ci A new section is added immediately following section 4.1.3 Alpha Test. 595bd8deadSopenharmony_ci 605bd8deadSopenharmony_ci Index Test 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ci This step applies only to color index mode. The index test discards 635bd8deadSopenharmony_ci a fragment conditional on the outcome of a comparison between the 645bd8deadSopenharmony_ci incoming fragment's index value and a constant reference value. The 655bd8deadSopenharmony_ci comparison is enabled or disabled with the generic Enable and Disable 665bd8deadSopenharmony_ci commands using the symbolic constant INDEX_TEST_EXT. When disabled, 675bd8deadSopenharmony_ci it is as if the comparison always passes. The test is controlled with 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ci void IndexFunc (enum func, float ref); 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ci <func> is a symbolic constant indicating the index test function; <ref> 725bd8deadSopenharmony_ci is a reference value. <ref> is converted to a fixed-point value 735bd8deadSopenharmony_ci according to the rules given for a color index in section 2.13.9. For 745bd8deadSopenharmony_ci purposes of the index test, the fragment's index value is also rounded 755bd8deadSopenharmony_ci to the nearest integer representable in the color index portion of the 765bd8deadSopenharmony_ci framebuffer. The possible constants specifying the test function are 775bd8deadSopenharmony_ci NEVER, ALWAYS, LESS, LEQUAL, EQUAL, GEQUAL, GREATER, or NOTEQUAL, 785bd8deadSopenharmony_ci meaning pass the fragment never, always, if the fragment's index value 795bd8deadSopenharmony_ci is less than, less than or equal to, equal to, greater than, or not 805bd8deadSopenharmony_ci equal to the reference value, respectively. 815bd8deadSopenharmony_ci 825bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.1 Specification (Special Functions) 835bd8deadSopenharmony_ci 845bd8deadSopenharmony_ci None 855bd8deadSopenharmony_ci 865bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.1 Specification (State and State Requests) 875bd8deadSopenharmony_ci 885bd8deadSopenharmony_ci None 895bd8deadSopenharmony_ci 905bd8deadSopenharmony_ciAdditions to the GLX Specification 915bd8deadSopenharmony_ci 925bd8deadSopenharmony_ci XXX - Not complete yet!!! 935bd8deadSopenharmony_ci 945bd8deadSopenharmony_ciGLX Protocol 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci XXX - Not complete yet!!! 975bd8deadSopenharmony_ci 985bd8deadSopenharmony_ciErrors 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ci INVALID_ENUM is generated if the <func> parameter of IndexFuncEXT 1015bd8deadSopenharmony_ci is not one of NEVER, ALWAYS, LESS, LEQUAL, EQUAL, GEQUAL, GREATER, or 1025bd8deadSopenharmony_ci NOTEQUAL. 1035bd8deadSopenharmony_ci 1045bd8deadSopenharmony_ci INVALID_OPERATION is generated if IndexFuncEXT is called between 1055bd8deadSopenharmony_ci execution of Begin and corresponding execution of End. 1065bd8deadSopenharmony_ci 1075bd8deadSopenharmony_ciNew State 1085bd8deadSopenharmony_ci Initial 1095bd8deadSopenharmony_ci Get Value Get Command Type Value Attrib 1105bd8deadSopenharmony_ci --------- ----------- ---- ------- ------ 1115bd8deadSopenharmony_ci 1125bd8deadSopenharmony_ci INDEX_TEST_EXT IsEnabled B False color-buffer/enable 1135bd8deadSopenharmony_ci INDEX_TEST_FUNC_EXT GetFloatv Z8 ALWAYS color-buffer 1145bd8deadSopenharmony_ci INDEX_TEST_REF_EXT GetFloatv R 0 color-buffer 1155bd8deadSopenharmony_ci 1165bd8deadSopenharmony_ciNew Implementation Dependent State 1175bd8deadSopenharmony_ci 1185bd8deadSopenharmony_ci None 119