blob: ff50f1203c9dbca49083c0231f19171bcaa14ed9 [file] [log] [blame]
Name
SGIX_depth_texture
Name Strings
GL_SGIX_depth_texture
Version
$Date: 1997/02/26 03:36:29 $ $Revision: 1.5 $
Number
63
Dependencies
EXT_texture is required
EXT_subtexture affects the definition of this extension
EXT_copy_texture affects the definition of this extension
Overview
This extension defines a new depth texture format. An important
application of depth texture images is shadow casting, but separating
this from the shadow extension allows for the potential use of depth
textures in other applications such as image-based rendering or
displacement mapping. This extension does not define new depth-texture
environment functions, such as filtering or applying the depth values
computed from a texture, but leaves this to other extensions, such as
the shadow extension.
New Procedures and Functions
None
New Tokens
Accepted by the <components> parameters of TexImage1D and TexImage2D,
and by the <internalformat> parameters of TexImage3DEXT,
CopyTexImage1DEXT, and CopyTexImage2DEXT:
DEPTH_COMPONENT16_SGIX 0x81A5
DEPTH_COMPONENT24_SGIX 0x81A6
DEPTH_COMPONENT32_SGIX 0x81A7
Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
None
Additions to Chapter 3 of the 1.0 Specification (Rasterization)
XXX - lots
Notes:
* Defines DEPTH_COMPONENT as a new base internal format for
textures. Defines 16, 24, and 32 bit specific internal formats
for texture. Just as for the specific color internal formats,
an implementation can choose whether to implement them or not.
* Texture commands that accept images from memory now allow the
internal format to be DEPTH_COMPONENT or DEPTH_COMPONENT*_SGIX
when the format of the image data is DEPTH_COMPONENT. Depth, not
color pixel transfer operations are applied to depth images.
* Texture commands that accept images from the framebuffer now take
their data from the depth buffer when the internal format is
DEPTH_COMPONENT or DEPTH_COMPONENT*_SGIX, or when no internal
format is specified, and the internal format of the target texture
is DEPTH_COMPONENT or DEPTH_COMPONENT*_SGIX.
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)
None
Additions to the GLX Specification
None
Dependencies on EXT_texture
EXT_texture is required.
Dependencies on EXT_texture3D
EXT_texture3D is not required, but if it is not supported, the
implementation must compute the R texture coordinate as if it were.
If EXT_texture3D is not supported, references to TexImage3DEXT and
TexSubImage3DEXT in this document are invalid and should be ignored.
Dependencies on EXT_subtexture
If EXT_subtexture is not supported, references to TexSubImage1DEXT,
TexSubImage2DEXT, and TexSubImage3DEXT in this document are invalid and
should be ignored. If EXT_subtexture is supported, the operations of
these three commands are affected by this extension.
Dependencies on EXT_copy_texture
If EXT_copy_texture is not supported, references to CopyTexImage1DEXT
and CopyTexImage2DEXT in this document are invalid and should be
ignored. If EXT_copy_texture is supported, the operations of these two
commands, and of CopyTexSubImage1DEXT, CopyTexSubImage2DEXT, and
CopyTexSubImage3DEXT are affected by this extension.
Errors
INVALID_OPERATION is generated if TexImage1D or TexImage2D parameter
<format> is DEPTH_COMPONENT and parameter <components> is not
DEPTH_COMPONENT, DEPTH_COMPONENT16_SGI, DEPTH_COMPONENT24_SGI, or
DEPTH_COMPONENT32_SGI.
INVALID_OPERATION is generated if TexImage3DEXT parameter <format> is
DEPTH_COMPONENT and parameter <internalformat> is not
DEPTH_COMPONENT, DEPTH_COMPONENT16_SGI, DEPTH_COMPONENT24_SGI, or
DEPTH_COMPONENT32_SGI.
INVALID_OPERATION is generated if CopyTexImage1DEXT or CopyTexImage2DEXT
parameter <internalformat> is DEPTH_COMPONENT, DEPTH_COMPONENT16_SGI,
DEPTH_COMPONENT24_SGI, or DEPTH_COMPONENT32_SGI, and there is no
depth buffer.
New State
None
New Implementation Dependent State
None