1Name
2
3    SGIX_fog_texture
4
5Name Strings
6
7    GL_SGIX_fog_texture
8
9Version
10
11    $Date: 1999/03/30 23:13:53 $ $Revision: 1.5 $
12
13Number
14
15    XXX
16
17Dependencies
18
19    OpenGL 1.1 is required.
20    EXT_light_texture is required.
21    SGIS_multitexture affects the definition of this extension.
22    SGIX_color_range affects the definition of this extension.
23
24Overview
25
26    This extension defines a general mechanism for substituting the
27    fragment color computed during texture environment processing in
28    place of fog fragment attributes such as fog color, fog density
29    fog patchy factor. The application of texture to fog color assumes
30    no internal format constraint of the image. Fog density and patchy
31    multiplicative factor are scalar values and are substituted
32    by the red texture component.
33
34IP Status
35
36    Silicon Graphics has filed for patent protection for some of the
37    techniques described in this extension document.
38
39Issues:
40
41    * This extension is incomplete with respect to the dependency
42    of the fog_patchy extension
43
44    * The fog patchy factor is expected to be a constant of 1.
45    unless is applied by a texture. Is that the most intuitive
46    api. Should we support a any constant for the factor and have
47    it be set as a fog parameter (in glFog).
48
49New Procedures and Functions
50
51    void TextureFogSGIX(enum pname);
52
53New Tokens
54
55    Accepted by the <mode> parameter of ApplyTextureEXT:
56
57    FRAGMENT_FOG_SGIX                           0xXXXX
58
59    Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv,
60    and GetDoublev:
61
62    TEXTURE_FOG_SGIX                            0xXXXX
63
64    Accepted by the <pname> parameter of TextureFogSGIX:
65
66    FOG_PATCHY_FACTOR_SGIX                      0xXXXX
67
68Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
69
70    None
71
72Additions to Chapter 3 of the 1.1 Specification (Rasterization)
73
74    Add at the end of Section 3.X.1 Texture Application
75
76    If <mode> is FRAGMENT_FOG_SGIX then the post-texture-environment
77    color substitutes one of fragment fog parameters during the fog
78    computation of the fragment. The fragment fog parameters
79    substituted are specified by the command TextureFogSGIX
80    described in section 3.X.5.
81
82    Add section 3.X.4 and replace 3.X.4 with 3.X.5 for
83    Interactions with multiple textures
84
85    3.X.4 Texture Applied to Fog Parameters
86
87    TextureFogSGIX(enum pname) determines which fog fragment parameters
88    is substituted with the post-texture-environment color, when the
89    texture application mode is FRAGMENT_FOG_SGIX. <pname>  is one of
90    FOG_COLOR, FOG_DENSITY or FOG_PATCHY_FACTOR_SGIX. FOG_COLOR can be
91    applied with a texture image of any number of components. FOG_DENSITY
92    and FOG_PATCHY_FACTOR_SGIX are scalar entities derived from the
93    texture red component.
94
95Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
96and the Framebuffer)
97
98Additions to Chapter 5 of the 1.1 Specification (Special Functions)
99
100Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
101
102Additions to the GLX Specification
103
104    None
105
106GLX Protocol
107
108    TBD
109
110Dependencies on SGIX_light_texture
111    EXT_light_texture is required since this extension adds
112    an enumerant parameter to the ApplyTextureEXT command.
113
114Dependencies on EXT_multitexture
115    If EXT_multitexture is not supported only the single
116    post-texture-environment color is available for substitution and the
117    discussion of multiple textures in section 3.X.5 is void.
118
119Errors
120    INVALID_ENUM is generated if TextureFogSGIX parameter
121    is not FOG_COLOR, FOG_DENSITY, or FOG_PATCHY_FACTOR_SGIX.
122
123New State
124
125    Get Value        Get Command     Type    Initial Value    Attribute
126    ---------        -----------     ----    -------------    ---------
127
128    TEXTURE_FOG_SGIX GetIntegerv     Z10     FOG_COLOR        texture
129
130New Implementation Dependent State
131
132    None
133
134