15bd8deadSopenharmony_ciXXX - Not complete yet!!!
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ciName
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ci    EXT_index_material
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ciName Strings
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ci    GL_EXT_index_material
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ciVersion
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ci    $Date: 1996/11/21 00:52:24 $ $Revision: 1.4 $
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ciNumber
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ci    94
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ciDependencies
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ci    None
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ciOverview
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ci    This extends color index lighting to include a way for the current
265bd8deadSopenharmony_ci    index to contribute to the color index produced by lighting.  This
275bd8deadSopenharmony_ci    works much like ColorMaterial does for RGBA lighting by allowing
285bd8deadSopenharmony_ci    one or more color index material properties to be attached to the
295bd8deadSopenharmony_ci    current index.
305bd8deadSopenharmony_ci
315bd8deadSopenharmony_ci    The color index lighting formula is also modified so that the lit
325bd8deadSopenharmony_ci    color index may be bitwise shifted in order to allow greater control
335bd8deadSopenharmony_ci    when using lighting and fog together in color index mode.
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ciNew Procedures and Functions
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ci    void IndexMaterialEXT (enum face, enum mode )
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ciNew Tokens
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ci    Accepted by the <cap> parameter of Enable, Disable, IsEnabled,
425bd8deadSopenharmony_ci    and by the <pname> parameter of GetBooleanv, GetIntegerv,
435bd8deadSopenharmony_ci    GetFloatv, and GetDoublev:
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ci        INDEX_MATERIAL_EXT
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ci    Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
485bd8deadSopenharmony_ci    GetFloatv, and GetDoublev:
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ci        INDEX_MATERIAL_PARAMETER_EXT
515bd8deadSopenharmony_ci        INDEX_MATERIAL_FACE_EXT
525bd8deadSopenharmony_ci
535bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
545bd8deadSopenharmony_ci
555bd8deadSopenharmony_ci    In Section 2.13.5 "Color Index Lighting", the discussion of color
565bd8deadSopenharmony_ci    index lighting is continued after the computation of the final color
575bd8deadSopenharmony_ci    index as follows:
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ci    Arithmetic on Color Indexes
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci    After a final color index is computed, the index is converted to a
625bd8deadSopenharmony_ci    fixed-point value with an unspecified number of bits to the right
635bd8deadSopenharmony_ci    of the binary point, the nearest fixed-point value is selected.
645bd8deadSopenharmony_ci    Then the fixed-point value is shifted by |index_shift| bits, left
655bd8deadSopenharmony_ci    if index_shift is > 0 and right otherwise.  In either case the
665bd8deadSopenharmony_ci    shift is zero filled.  Then the signed integer offset index_offset
675bd8deadSopenharmony_ci    is added to the index.  index_shift and index_offset are set using
685bd8deadSopenharmony_ci    the Material Command with <pname> set to INDEX_SHIFT and
695bd8deadSopenharmony_ci    INDEX_OFFSET respectively.
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci    Index Material
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    It is possible to attach one or more color index material properties
745bd8deadSopenharmony_ci    to the current index, so that they continuously track its value.  This
755bd8deadSopenharmony_ci    behavior is enabled and disabled by calling Enable or Disable with
765bd8deadSopenharmony_ci    the symbolic constant INDEX_MATERIAL_EXT.  The command that controls
775bd8deadSopenharmony_ci    which of these modes is selected is
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci        void IndexMaterial (enum face, enum mode);
805bd8deadSopenharmony_ci    
815bd8deadSopenharmony_ci    <face> is one of FRONT, BACK, or FRONT_AND_BACK, indicating whether
825bd8deadSopenharmony_ci    the front material, back material, or both are affected by the current
835bd8deadSopenharmony_ci    index.  <mode> must be INDEX_OFFSET.  The replacements made to 
845bd8deadSopenharmony_ci    material properties are permanent; the replaced values remain until
855bd8deadSopenharmony_ci    changed by either sending a new index or by setting a new material
865bd8deadSopenharmony_ci    value when IndexMaterial is not currently enabled to override that
875bd8deadSopenharmony_ci    particular value.  When INDEX_MATERIAL is enabled, the indicated
885bd8deadSopenharmony_ci    parameter or parameters always track the current index.
895bd8deadSopenharmony_ci
905bd8deadSopenharmony_ci    Section 2.13.6 "Clamping or Masking" is modified slightly as
915bd8deadSopenharmony_ci    follows: "For a color index, if lighting is enabled, the color index
925bd8deadSopenharmony_ci    is already in fixed-point, otherwise, the index is first converted
935bd8deadSopenharmony_ci    to fixed-point..."
945bd8deadSopenharmony_ci
955bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.1 Specification (Rasterization)
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci    None
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
1005bd8deadSopenharmony_ciand the Frame Buffer)
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ci    None
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.1 Specification (Special Functions)
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ci    None
1075bd8deadSopenharmony_ci
1085bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.1 Specification (State and State Requests)
1095bd8deadSopenharmony_ci
1105bd8deadSopenharmony_ci    None
1115bd8deadSopenharmony_ci
1125bd8deadSopenharmony_ciAdditions to the GLX Specification
1135bd8deadSopenharmony_ci
1145bd8deadSopenharmony_ci    XXX - Not complete yet!!!
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ciGLX Protocol
1175bd8deadSopenharmony_ci
1185bd8deadSopenharmony_ci    XXX - Not complete yet!!!
1195bd8deadSopenharmony_ci
1205bd8deadSopenharmony_ciErrors
1215bd8deadSopenharmony_ci
1225bd8deadSopenharmony_ci    INVALID_ENUM is generated if IndexMaterial parameter <face> is not FRONT,
1235bd8deadSopenharmony_ci    BACK, or FRONT_AND_BACK.
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ci    INVALID_ENUM is generated if IndexMaterial parameter <mode> is not
1265bd8deadSopenharmony_ci    INDEX_OFFSET.
1275bd8deadSopenharmony_ci
1285bd8deadSopenharmony_ci    INVALID_OPERATION is generated if IndexMaterial is called between
1295bd8deadSopenharmony_ci    execution of Begin and the corresponding execution of End.
1305bd8deadSopenharmony_ci
1315bd8deadSopenharmony_ciNew State
1325bd8deadSopenharmony_ci
1335bd8deadSopenharmony_ci                                                                Initial
1345bd8deadSopenharmony_ci    Get Value                           Get Command     Type    Value                   Attrib
1355bd8deadSopenharmony_ci    ---------                           -----------     ----    -------                 ------
1365bd8deadSopenharmony_ci
1375bd8deadSopenharmony_ci    INDEX_MATERIAL_EXT                  IsEnabled       B       False                   lighting/enable
1385bd8deadSopenharmony_ci    INDEX_MATERIAL_PARAMETER_EXT        GetIntegerv     Z1      INDEX_OFFSET            lighting
1395bd8deadSopenharmony_ci    INDEX_MATERIAL_FACE_EXT             GetIntegerv     Z3      FRONT_AND_BACK          lighting
1405bd8deadSopenharmony_ci    INDEX_SHIFT                         GetMaterialfv   2 x R   0                       lighting
1415bd8deadSopenharmony_ci    INDEX_OFFSET                        GetMaterialfv   2 x R   0                       lighting
1425bd8deadSopenharmony_ci
1435bd8deadSopenharmony_ciNew Implementation Dependent State
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ci    None
146