Back to the OpenGL extension cross reference

GL_EXT_index_func


XXX - Not complete yet!!!

Name


    EXT_index_func

Name Strings


    GL_EXT_index_func

Version


    $Date: 1996/11/21 00:52:23 $ $Revision: 1.3 $

Number


    95

Dependencies


    None

Overview


    This extension provides a way to discard fragments when a comparison
between the fragment's index value and a reference index fails. This
may be used similarly to the alpha test which is available in RGBA mode.

New Procedures and Functions


    void IndexFuncEXT (enum func, float ref)

New Tokens


    Accepted by the <cap> parameter of Enable, Disable, and IsEnabled,
and by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv,
and GetDoublev:

INDEX_TEST_EXT

Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
GetFloatv, and GetDoublev:

INDEX_TEST_FUNC_EXT
INDEX_TEST_REF_EXT

Additions to Chapter 2 of the 1.1 Specification (OpenGL Operation)


    None

Additions to Chapter 3 of the 1.1 Specification (Rasterization)


    None

Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations and the Frame Buffer)


    A new section is added immediately following section 4.1.3 Alpha Test.

Index Test

This step applies only to color index mode. The index test discards
a fragment conditional on the outcome of a comparison between the
incoming fragment's index value and a constant reference value. The
comparison is enabled or disabled with the generic Enable and Disable
commands using the symbolic constant INDEX_TEST_EXT. When disabled,
it is as if the comparison always passes. The test is controlled with

void IndexFunc (enum func, float ref);

<func> is a symbolic constant indicating the index test function; <ref>
is a reference value. <ref> is converted to a fixed-point value
according to the rules given for a color index in section 2.13.9. For
purposes of the index test, the fragment's index value is also rounded
to the nearest integer representable in the color index portion of the
framebuffer. The possible constants specifying the test function are
NEVER, ALWAYS, LESS, LEQUAL, EQUAL, GEQUAL, GREATER, or NOTEQUAL,
meaning pass the fragment never, always, if the fragment's index value
is less than, less than or equal to, equal to, greater than, or not
equal to the reference value, respectively.

Additions to Chapter 5 of the 1.1 Specification (Special Functions)


    None

Additions to Chapter 6 of the 1.1 Specification (State and State Requests)


    None

Additions to the GLX Specification


    XXX - Not complete yet!!!

GLX Protocol


    XXX - Not complete yet!!!

Errors


    INVALID_ENUM is generated if the <func> parameter of IndexFuncEXT
is not one of NEVER, ALWAYS, LESS, LEQUAL, EQUAL, GEQUAL, GREATER, or
NOTEQUAL.

INVALID_OPERATION is generated if IndexFuncEXT is called between
execution of Begin and corresponding execution of End.

New State
Initial
Get Value Get Command Type Value Attrib
--------- ----------- ---- ------- ------

INDEX_TEST_EXT IsEnabled B False color-buffer/enable
INDEX_TEST_FUNC_EXT GetFloatv Z8 ALWAYS color-buffer
INDEX_TEST_REF_EXT GetFloatv R 0 color-buffer

New Implementation Dependent State


    None

Implementation Support


   List of OpenGL implementations supporting the GL_EXT_index_func extension

Original File


   Original text file for the GL_EXT_index_func extension


Page generated on Sun Nov 20 18:37:35 2005