• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1XXX - Not complete yet!!!
2
3Name
4
5        SGIX_shadow
6
7Name Strings
8
9        GL_SGIX_shadow
10
11Version
12
13        $Date: 1997/08/27 19:54:45 $ $Revision: 1.15 $
14
15Number
16
17        34
18
19Dependencies
20
21        None.
22
23Overview
24
25        This extension defines two new operations to be performed on texture
26        values before they are passed on to the filtering subsystem.  These
27        operations perform either a <= or >= test on the value from texture
28        memory and the iterated R value, and return 1.0 or 0.0 if the test
29        passes or fails, respectively.
30
31New Procedures and Functions
32
33        None
34
35New Tokens
36
37        Accepted by the <pname> parameter of TexParameterf, TexParameteri,
38        TexParameterfv, TexParameteriv, GetTexParameterfv, and
39        GetTexParameteriv, with the <pname> parameter of TRUE or FALSE:
40
41        TEXTURE_COMPARE_SGIX
42
43        Accepted by the <pname> parameter of TexParameterf, TexParameteri,
44        TexParameterfv, TexParameteriv, GetTexParameterfv, and
45        GetTexParameteriv:
46
47        TEXTURE_COMPARE_OPERATOR_SGIX
48
49        Accepted by the <param> parameter of TexParameterf and TexParameteri,
50        and by the <params> parameter of TexParameterfv and TexParameteriv,
51        when their <pname> parameter is TEXTURE_COMPARE_OPERATOR_SGIX:
52
53        TEXTURE_LEQUAL_R_SGIX
54        TEXTURE_GEQUAL_R_SGIX
55
56Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
57
58        None
59
60Additions to Chapter 3 of the 1.0 Specification (Rasterization)
61
62        XXX - lots
63
64        GL Specification Table 3.8 is updated as follows:
65
66        Name                            Type            Legal Values
67        ----                            ----            ------------
68        TEXTURE_WRAP_S                  integer         CLAMP, REPEAT
69        TEXTURE_WRAP_T                  integer         CLAMP, REPEAT
70        TEXTURE_WRAP_R_EXT              integer         CLAMP, REPEAT
71        TEXTURE_MIN_FILTER              integer         NEAREST, LINEAR,
72                                                        NEAREST_MIPMAP_NEAREST,
73                                                        NEAREST_MIPMAP_LINEAR,
74                                                        LINEAR_MIPMAP_NEAREST,
75                                                        LINEAR_MIPMAP_LINEAR,
76                                                        FILTER4_SGIS,
77                                                        LINEAR_CLIPMAP_LINEAR_SGIX
78        TEXTURE_MAG_FILTER              integer         NEAREST, LINEAR,
79                                                        FILTER4_SGIS,
80                                                        LINEAR_DETAIL_SGIS,
81                                                        LINEAR_DETAIL_ALPHA_SGIS,
82                                                        LINEAR_DETAIL_COLOR_SGIS,
83                                                        LINEAR_SHARPEN_SGIS,
84                                                        LINEAR_SHARPEN_ALPHA_SGIS,
85                                                        LINEAR_SHARPEN_COLOR_SGIS,
86        TEXTURE_BORDER_COLOR            4 floats        any 4 values in [0,1]
87        DETAIL_TEXTURE_LEVEL_SGIS       integer         any non-negative integer
88        DETAIL_TEXTURE_MODE_SGIS        integer         ADD, MODULATE
89        TEXTURE_MIN_LOD_SGIS            float           any value
90        TEXTURE_MAX_LOD_SGIS            float           any value
91        TEXTURE_BASE_LEVEL_SGIS         integer         any non-negative integer
92        TEXTURE_MAX_LEVEL_SGIS          integer         any non-negative integer
93        GENERATE_MIPMAP_SGIS            boolean         TRUE or FALSE
94        TEXTURE_CLIPMAP_OFFSET_SGIX     2 floats        any 2 values
95        TEXTURE_COMPARE_SGIX            boolean         TRUE or FALSE
96        TEXTURE_COMPARE_OPERATOR_SGIX   integer         TEXTURE_LEQUAL_R_SGIX,
97                                                        TEXTURE_GEQUAL_R_SGIX
98
99        Table 3.8: Texture parameters and their values.
100
101        Notes:
102
103        * Two new texture operators are defined which alter the sampled texture
104        values before they are filtered.  These operators are defined only for
105        textures with internal format DEPTH_COMPONENT or DEPTH_COMPONENTS*_SGI.
106
107        * The new operators compare the sample texel value to the value of the
108        third texture coordinate, R.  The texture components are treated as though
109        they range from 0.0 through 1.0.  The value of the test is zero if the
110        test fails, and one if it passes.
111
112        * The test for operator TEXTURE_LEQUAL_R_SGIX passes if the texel value
113        is less than or equal to R.      The test for operator TEXTURE_GEQUAL_R_SGIX
114        passes if the texel value is greater than or equal to R.
115
116        * The modified texels (with value 0.0 or 1.0 depending on
117        the test result) are treated as if the texture internal format
118        were LUMINANCE.
119
120Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
121and the Frame Buffer)
122
123        None
124
125Additions to Chapter 5 of the 1.0 Specification (Special Functions)
126
127        None
128
129Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
130
131        The texture compare operator is queried by calling GetTexParameteriv
132        and GetTexParameterfv with <pname> set to
133        TEXTURE_COMPARE_OPERATOR_SGIX.  Texture compare enable/disable state
134        is queried by calling GetTexParameteriv or GetTexParameterif with
135        <pname> TEXTURE_COMPARE_SGIX.
136
137Additions to the GLX Specification
138
139        None
140
141Errors
142
143        INVALID_OPERATION is generated if TexParameter[if] parameter <pname>
144        is TEXTURE_COMPARE_OPERATOR_SGIX and parameter <param> is not
145        TEXTURE_LEQUAL_R_SGIX,or TEXTURE_GEQUAL_R_SGIX.
146
147New State
148
149Get Value                       Get Command             Type    Initial Value           Attribute
150---------                       -----------             ----    -------------           ---------
151TEXTURE_COMPARE_SGIX            GetTexParameter[if]v    B       False                   texture
152TEXTURE_COMPARE_OPERATOR_SGIX   GetTexParameter[if]v    Z_2     TEXTURE_LEQUAL_R_SGIX   texture
153
154
155New Implementation Dependent State
156
157        None
158
159NVIDIA Implementation Details
160
161        The specification is unclear if the R texture coordinate is
162        clamped to the range [0,1].  NVIDIA hardware supporting this
163        extension does clamp the R texture coordinate to the range [0,1]
164        on a per-fragment basis.
165
166        The behavior of the NV_register_combiners SIGNED_NEGATE_NV mapping
167        mode is undefined when used to map the initial value of a texture
168        register corresponding to an enabled texture with a base internal
169        format of GL_DEPTH_COMPONENT and a true TEXTURE_COMPARE_SGIX
170        mode when multiple enabled textures have different values for
171        TEXTURE_COMPARE_OPERATOR_SGIX.  Values subsequently assigned to
172        such registers and then mapped with SIGNED_NEGATIE_NV operate
173        as expected.
174