15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci SGIX_fog_texture 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_SGIX_fog_texture 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciVersion 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci $Date: 1999/03/30 23:13:53 $ $Revision: 1.5 $ 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciNumber 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci XXX 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ciDependencies 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ci OpenGL 1.1 is required. 205bd8deadSopenharmony_ci EXT_light_texture is required. 215bd8deadSopenharmony_ci SGIS_multitexture affects the definition of this extension. 225bd8deadSopenharmony_ci SGIX_color_range affects the definition of this extension. 235bd8deadSopenharmony_ci 245bd8deadSopenharmony_ciOverview 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ci This extension defines a general mechanism for substituting the 275bd8deadSopenharmony_ci fragment color computed during texture environment processing in 285bd8deadSopenharmony_ci place of fog fragment attributes such as fog color, fog density 295bd8deadSopenharmony_ci fog patchy factor. The application of texture to fog color assumes 305bd8deadSopenharmony_ci no internal format constraint of the image. Fog density and patchy 315bd8deadSopenharmony_ci multiplicative factor are scalar values and are substituted 325bd8deadSopenharmony_ci by the red texture component. 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ciIP Status 355bd8deadSopenharmony_ci 365bd8deadSopenharmony_ci Silicon Graphics has filed for patent protection for some of the 375bd8deadSopenharmony_ci techniques described in this extension document. 385bd8deadSopenharmony_ci 395bd8deadSopenharmony_ciIssues: 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci * This extension is incomplete with respect to the dependency 425bd8deadSopenharmony_ci of the fog_patchy extension 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ci * The fog patchy factor is expected to be a constant of 1. 455bd8deadSopenharmony_ci unless is applied by a texture. Is that the most intuitive 465bd8deadSopenharmony_ci api. Should we support a any constant for the factor and have 475bd8deadSopenharmony_ci it be set as a fog parameter (in glFog). 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ciNew Procedures and Functions 505bd8deadSopenharmony_ci 515bd8deadSopenharmony_ci void TextureFogSGIX(enum pname); 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ciNew Tokens 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci Accepted by the <mode> parameter of ApplyTextureEXT: 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ci FRAGMENT_FOG_SGIX 0xXXXX 585bd8deadSopenharmony_ci 595bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, GetFloatv, 605bd8deadSopenharmony_ci and GetDoublev: 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ci TEXTURE_FOG_SGIX 0xXXXX 635bd8deadSopenharmony_ci 645bd8deadSopenharmony_ci Accepted by the <pname> parameter of TextureFogSGIX: 655bd8deadSopenharmony_ci 665bd8deadSopenharmony_ci FOG_PATCHY_FACTOR_SGIX 0xXXXX 675bd8deadSopenharmony_ci 685bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 695bd8deadSopenharmony_ci 705bd8deadSopenharmony_ci None 715bd8deadSopenharmony_ci 725bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.1 Specification (Rasterization) 735bd8deadSopenharmony_ci 745bd8deadSopenharmony_ci Add at the end of Section 3.X.1 Texture Application 755bd8deadSopenharmony_ci 765bd8deadSopenharmony_ci If <mode> is FRAGMENT_FOG_SGIX then the post-texture-environment 775bd8deadSopenharmony_ci color substitutes one of fragment fog parameters during the fog 785bd8deadSopenharmony_ci computation of the fragment. The fragment fog parameters 795bd8deadSopenharmony_ci substituted are specified by the command TextureFogSGIX 805bd8deadSopenharmony_ci described in section 3.X.5. 815bd8deadSopenharmony_ci 825bd8deadSopenharmony_ci Add section 3.X.4 and replace 3.X.4 with 3.X.5 for 835bd8deadSopenharmony_ci Interactions with multiple textures 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci 3.X.4 Texture Applied to Fog Parameters 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ci TextureFogSGIX(enum pname) determines which fog fragment parameters 885bd8deadSopenharmony_ci is substituted with the post-texture-environment color, when the 895bd8deadSopenharmony_ci texture application mode is FRAGMENT_FOG_SGIX. <pname> is one of 905bd8deadSopenharmony_ci FOG_COLOR, FOG_DENSITY or FOG_PATCHY_FACTOR_SGIX. FOG_COLOR can be 915bd8deadSopenharmony_ci applied with a texture image of any number of components. FOG_DENSITY 925bd8deadSopenharmony_ci and FOG_PATCHY_FACTOR_SGIX are scalar entities derived from the 935bd8deadSopenharmony_ci texture red component. 945bd8deadSopenharmony_ci 955bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations 965bd8deadSopenharmony_ciand the Framebuffer) 975bd8deadSopenharmony_ci 985bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.1 Specification (Special Functions) 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.1 Specification (State and State Requests) 1015bd8deadSopenharmony_ci 1025bd8deadSopenharmony_ciAdditions to the GLX Specification 1035bd8deadSopenharmony_ci 1045bd8deadSopenharmony_ci None 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ciGLX Protocol 1075bd8deadSopenharmony_ci 1085bd8deadSopenharmony_ci TBD 1095bd8deadSopenharmony_ci 1105bd8deadSopenharmony_ciDependencies on SGIX_light_texture 1115bd8deadSopenharmony_ci EXT_light_texture is required since this extension adds 1125bd8deadSopenharmony_ci an enumerant parameter to the ApplyTextureEXT command. 1135bd8deadSopenharmony_ci 1145bd8deadSopenharmony_ciDependencies on EXT_multitexture 1155bd8deadSopenharmony_ci If EXT_multitexture is not supported only the single 1165bd8deadSopenharmony_ci post-texture-environment color is available for substitution and the 1175bd8deadSopenharmony_ci discussion of multiple textures in section 3.X.5 is void. 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ciErrors 1205bd8deadSopenharmony_ci INVALID_ENUM is generated if TextureFogSGIX parameter 1215bd8deadSopenharmony_ci is not FOG_COLOR, FOG_DENSITY, or FOG_PATCHY_FACTOR_SGIX. 1225bd8deadSopenharmony_ci 1235bd8deadSopenharmony_ciNew State 1245bd8deadSopenharmony_ci 1255bd8deadSopenharmony_ci Get Value Get Command Type Initial Value Attribute 1265bd8deadSopenharmony_ci --------- ----------- ---- ------------- --------- 1275bd8deadSopenharmony_ci 1285bd8deadSopenharmony_ci TEXTURE_FOG_SGIX GetIntegerv Z10 FOG_COLOR texture 1295bd8deadSopenharmony_ci 1305bd8deadSopenharmony_ciNew Implementation Dependent State 1315bd8deadSopenharmony_ci 1325bd8deadSopenharmony_ci None 1335bd8deadSopenharmony_ci 134