Back to the OpenGL extension cross reference

GL_SGIX_fog_texture


Name


    SGIX_fog_texture

Name Strings


    GL_SGIX_fog_texture

Version


    $Date: 1999/03/30 23:13:53 $ $Revision: 1.5 $

Number


    XXX

Dependencies


    OpenGL 1.1 is required.
EXT_light_texture is required.
SGIS_multitexture affects the definition of this extension.
SGIX_color_range affects the definition of this extension.

Overview


    This extension defines a general mechanism for substituting the
fragment color computed during texture environment processing in
place of fog fragment attributes such as fog color, fog density
fog patchy factor. The application of texture to fog color assumes
no internal format constraint of the image. Fog density and patchy
multiplicative factor are scalar values and are substituted
by the red texture component.

IP Status


    Silicon Graphics has filed for patent protection for some of the
techniques described in this extension document.

Issues:


    * This extension is incomplete with respect to the dependency
of the fog_patchy extension

* The fog patchy factor is expected to be a constant of 1.
unless is applied by a texture. Is that the most intuitive
api. Should we support a any constant for the factor and have
it be set as a fog parameter (in glFog).

New Procedures and Functions


    void TextureFogSGIX(enum pname);

New Tokens


    Accepted by the <mode> parameter of ApplyTextureEXT:

FRAGMENT_FOG_SGIX 0xXXXX

Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv,
and GetDoublev:

TEXTURE_FOG_SGIX 0xXXXX

Accepted by the <pname> parameter of TextureFogSGIX:

FOG_PATCHY_FACTOR_SGIX 0xXXXX

Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)


    None

Additions to Chapter 3 of the 1.1 Specification (Rasterization)


    Add at the end of Section 3.X.1 Texture Application

If <mode> is FRAGMENT_FOG_SGIX then the post-texture-environment
color substitutes one of fragment fog parameters during the fog
computation of the fragment. The fragment fog parameters
substituted are specified by the command TextureFogSGIX
described in section 3.X.5.

Add section 3.X.4 and replace 3.X.4 with 3.X.5 for
Interactions with multiple textures

3.X.4 Texture Applied to Fog Parameters

TextureFogSGIX(enum pname) determines which fog fragment parameters
is substituted with the post-texture-environment color, when the
texture application mode is FRAGMENT_FOG_SGIX. <pname> is one of
FOG_COLOR, FOG_DENSITY or FOG_PATCHY_FACTOR_SGIX. FOG_COLOR can be
applied with a texture image of any number of components. FOG_DENSITY
and FOG_PATCHY_FACTOR_SGIX are scalar entities derived from the
texture red component.

Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations and the Framebuffer)


Additions to Chapter 5 of the 1.1 Specification (Special Functions)


Additions to Chapter 6 of the 1.1 Specification (State and State Requests)


Additions to the GLX Specification


    None

GLX Protocol


    TBD

Dependencies on SGIX_light_texture
EXT_light_texture is required since this extension adds
an enumerant parameter to the ApplyTextureEXT command.

Dependencies on EXT_multitexture
If EXT_multitexture is not supported only the single
post-texture-environment color is available for substitution and the
discussion of multiple textures in section 3.X.5 is void.

Errors
INVALID_ENUM is generated if TextureFogSGIX parameter
is not FOG_COLOR, FOG_DENSITY, or FOG_PATCHY_FACTOR_SGIX.

New State


    Get Value        Get Command     Type    Initial Value    Attribute
--------- ----------- ---- ------------- ---------

TEXTURE_FOG_SGIX GetIntegerv Z10 FOG_COLOR texture

New Implementation Dependent State


    None

Implementation Support


   List of OpenGL implementations supporting the GL_SGIX_fog_texture extension

Original File


   Original text file for the GL_SGIX_fog_texture extension


Page generated on Sun Nov 20 18:38:50 2005