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 parameters of TexImage1D and TexImage2D, and by the 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 is DEPTH_COMPONENT and parameter is not DEPTH_COMPONENT, DEPTH_COMPONENT16_SGI, DEPTH_COMPONENT24_SGI, or DEPTH_COMPONENT32_SGI. INVALID_OPERATION is generated if TexImage3DEXT parameter is DEPTH_COMPONENT and parameter is not DEPTH_COMPONENT, DEPTH_COMPONENT16_SGI, DEPTH_COMPONENT24_SGI, or DEPTH_COMPONENT32_SGI. INVALID_OPERATION is generated if CopyTexImage1DEXT or CopyTexImage2DEXT parameter 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