blob: 16f730af95eff641512a5c6028f160bb408ca413 [file] [log] [blame]
XXX - Not complete yet!!!
Name
SGIX_shadow
Name Strings
GL_SGIX_shadow
Version
$Date: 1997/08/27 19:54:45 $ $Revision: 1.15 $
Number
34
Dependencies
None.
Overview
This extension defines two new operations to be performed on texture
values before they are passed on to the filtering subsystem. These
operations perform either a <= or >= test on the value from texture
memory and the iterated R value, and return 1.0 or 0.0 if the test
passes or fails, respectively.
New Procedures and Functions
None
New Tokens
Accepted by the <pname> parameter of TexParameterf, TexParameteri,
TexParameterfv, TexParameteriv, GetTexParameterfv, and
GetTexParameteriv, with the <pname> parameter of TRUE or FALSE:
TEXTURE_COMPARE_SGIX
Accepted by the <pname> parameter of TexParameterf, TexParameteri,
TexParameterfv, TexParameteriv, GetTexParameterfv, and
GetTexParameteriv:
TEXTURE_COMPARE_OPERATOR_SGIX
Accepted by the <param> parameter of TexParameterf and TexParameteri,
and by the <params> parameter of TexParameterfv and TexParameteriv,
when their <pname> parameter is TEXTURE_COMPARE_OPERATOR_SGIX:
TEXTURE_LEQUAL_R_SGIX
TEXTURE_GEQUAL_R_SGIX
Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the 1.0 Specification (Rasterization)
XXX - lots
GL Specification Table 3.8 is updated as follows:
Name Type Legal Values
---- ---- ------------
TEXTURE_WRAP_S integer CLAMP, REPEAT
TEXTURE_WRAP_T integer CLAMP, REPEAT
TEXTURE_WRAP_R_EXT integer CLAMP, REPEAT
TEXTURE_MIN_FILTER integer NEAREST, LINEAR,
NEAREST_MIPMAP_NEAREST,
NEAREST_MIPMAP_LINEAR,
LINEAR_MIPMAP_NEAREST,
LINEAR_MIPMAP_LINEAR,
FILTER4_SGIS,
LINEAR_CLIPMAP_LINEAR_SGIX
TEXTURE_MAG_FILTER integer NEAREST, LINEAR,
FILTER4_SGIS,
LINEAR_DETAIL_SGIS,
LINEAR_DETAIL_ALPHA_SGIS,
LINEAR_DETAIL_COLOR_SGIS,
LINEAR_SHARPEN_SGIS,
LINEAR_SHARPEN_ALPHA_SGIS,
LINEAR_SHARPEN_COLOR_SGIS,
TEXTURE_BORDER_COLOR 4 floats any 4 values in [0,1]
DETAIL_TEXTURE_LEVEL_SGIS integer any non-negative integer
DETAIL_TEXTURE_MODE_SGIS integer ADD, MODULATE
TEXTURE_MIN_LOD_SGIS float any value
TEXTURE_MAX_LOD_SGIS float any value
TEXTURE_BASE_LEVEL_SGIS integer any non-negative integer
TEXTURE_MAX_LEVEL_SGIS integer any non-negative integer
GENERATE_MIPMAP_SGIS boolean TRUE or FALSE
TEXTURE_CLIPMAP_OFFSET_SGIX 2 floats any 2 values
TEXTURE_COMPARE_SGIX boolean TRUE or FALSE
TEXTURE_COMPARE_OPERATOR_SGIX integer TEXTURE_LEQUAL_R_SGIX,
TEXTURE_GEQUAL_R_SGIX
Table 3.8: Texture parameters and their values.
Notes:
* Two new texture operators are defined which alter the sampled texture
values before they are filtered. These operators are defined only for
textures with internal format DEPTH_COMPONENT or DEPTH_COMPONENTS*_SGI.
* The new operators compare the sample texel value to the value of the
third texture coordinate, R. The texture components are treated as though
they range from 0.0 through 1.0. The value of the test is zero if the
test fails, and one if it passes.
* The test for operator TEXTURE_LEQUAL_R_SGIX passes if the texel value
is less than or equal to R. The test for operator TEXTURE_GEQUAL_R_SGIX
passes if the texel value is greater than or equal to R.
* The modified texels (with value 0.0 or 1.0 depending on
the test result) are treated as if the texture internal format
were LUMINANCE.
Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
and the Frame Buffer)
None
Additions to Chapter 5 of the 1.0 Specification (Special Functions)
None
Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
The texture compare operator is queried by calling GetTexParameteriv
and GetTexParameterfv with <pname> set to
TEXTURE_COMPARE_OPERATOR_SGIX. Texture compare enable/disable state
is queried by calling GetTexParameteriv or GetTexParameterif with
<pname> TEXTURE_COMPARE_SGIX.
Additions to the GLX Specification
None
Errors
INVALID_OPERATION is generated if TexParameter[if] parameter <pname>
is TEXTURE_COMPARE_OPERATOR_SGIX and parameter <param> is not
TEXTURE_LEQUAL_R_SGIX,or TEXTURE_GEQUAL_R_SGIX.
New State
Get Value Get Command Type Initial Value Attribute
--------- ----------- ---- ------------- ---------
TEXTURE_COMPARE_SGIX GetTexParameter[if]v B False texture
TEXTURE_COMPARE_OPERATOR_SGIX GetTexParameter[if]v Z_2 TEXTURE_LEQUAL_R_SGIX texture
New Implementation Dependent State
None
NVIDIA Implementation Details
The specification is unclear if the R texture coordinate is
clamped to the range [0,1]. NVIDIA hardware supporting this
extension does clamp the R texture coordinate to the range [0,1]
on a per-fragment basis.
The behavior of the NV_register_combiners SIGNED_NEGATE_NV mapping
mode is undefined when used to map the initial value of a texture
register corresponding to an enabled texture with a base internal
format of GL_DEPTH_COMPONENT and a true TEXTURE_COMPARE_SGIX
mode when multiple enabled textures have different values for
TEXTURE_COMPARE_OPERATOR_SGIX. Values subsequently assigned to
such registers and then mapped with SIGNED_NEGATIE_NV operate
as expected.