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