| 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 |
| |