Name

    SGIX_depth_texture

Name Strings

    GL_SGIX_depth_texture

Version

    $Date: 2005/06/02 18:12:32 $ $Revision: 1.1 $

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
