15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci EXT_fog_coord 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_EXT_fog_coord 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Jon Leech, Silicon Graphics (ljp 'at' sgi.com) 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciStatus 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci Shipping (version 1.6) 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ciVersion 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ci $Date: 1999/06/21 19:57:19 $ $Revision: 1.11 $ 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ciNumber 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ci 149 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ciDependencies 265bd8deadSopenharmony_ci 275bd8deadSopenharmony_ci OpenGL 1.1 is required. 285bd8deadSopenharmony_ci The extension is written against the OpenGL 1.2 Specification. 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ciOverview 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ci This extension allows specifying an explicit per-vertex fog 335bd8deadSopenharmony_ci coordinate to be used in fog computations, rather than using a 345bd8deadSopenharmony_ci fragment depth-based fog equation. 355bd8deadSopenharmony_ci 365bd8deadSopenharmony_ciIssues 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ci * Should the specified value be used directly as the fog weighting 395bd8deadSopenharmony_ci factor, or in place of the z input to the fog equations? 405bd8deadSopenharmony_ci 415bd8deadSopenharmony_ci As the z input; more flexible and meets ISV requests. 425bd8deadSopenharmony_ci 435bd8deadSopenharmony_ci * Do we want vertex array entry points? Interleaved array formats? 445bd8deadSopenharmony_ci 455bd8deadSopenharmony_ci Yes for entry points, no for interleaved formats, following the 465bd8deadSopenharmony_ci argument for secondary_color. 475bd8deadSopenharmony_ci 485bd8deadSopenharmony_ci * Which scalar types should FogCoord accept? The full range, or just 495bd8deadSopenharmony_ci the unsigned and float versions? At the moment it follows Index(), 505bd8deadSopenharmony_ci which takes unsigned byte, signed short, signed int, float, and 515bd8deadSopenharmony_ci double. 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ci Since we're now specifying a number which behaves like an 545bd8deadSopenharmony_ci eye-space distance, rather than a [0,1] quantity, integer types 555bd8deadSopenharmony_ci are less useful. However, restricting the commands to floating 565bd8deadSopenharmony_ci point forms only introduces some nonorthogonality. 575bd8deadSopenharmony_ci 585bd8deadSopenharmony_ci Restrict to only float and double, for now. 595bd8deadSopenharmony_ci 605bd8deadSopenharmony_ci * Interpolation of the fog coordinate may be perspective-correct or 615bd8deadSopenharmony_ci not. Should this be affected by PERSPECTIVE_CORRECTION_HINT, 625bd8deadSopenharmony_ci FOG_HINT, or another to-be-defined hint? 635bd8deadSopenharmony_ci 645bd8deadSopenharmony_ci PERSPECTIVE_CORRECTION_HINT; this is already defined to affect 655bd8deadSopenharmony_ci all interpolated parameters. Admittedly this is a loss of 665bd8deadSopenharmony_ci orthogonality. 675bd8deadSopenharmony_ci 685bd8deadSopenharmony_ci * Should the current fog coordinate be queryable? 695bd8deadSopenharmony_ci 705bd8deadSopenharmony_ci Yes, but it's not returned by feedback. 715bd8deadSopenharmony_ci 725bd8deadSopenharmony_ci * Control the fog coordinate source via an Enable instead of a fog 735bd8deadSopenharmony_ci parameter? 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ci No. We might want to add more sources later. 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ci * Should the fog coordinate be restricted to non-negative values? 785bd8deadSopenharmony_ci 795bd8deadSopenharmony_ci Perhaps. Eye-coordinate distance of fragments will be 805bd8deadSopenharmony_ci non-negative due to clipping. Specifying explicit negative 815bd8deadSopenharmony_ci coordinates may result in very large computed f values, although 825bd8deadSopenharmony_ci they are defined to be clipped after computation. 835bd8deadSopenharmony_ci 845bd8deadSopenharmony_ci * Use existing DEPTH enum instead of FRAGMENT_DEPTH? Change name of 855bd8deadSopenharmony_ci FRAGMENT_DEPTH_EXT to FOG_FRAGMENT_DEPTH_EXT? 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ci Use FRAGMENT_DEPTH_EXT; FOG_FRAGMENT_DEPTH_EXT is somewhat 885bd8deadSopenharmony_ci misleading, since fragment depth itself has no dependence on 895bd8deadSopenharmony_ci fog. 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ciNew Procedures and Functions 925bd8deadSopenharmony_ci 935bd8deadSopenharmony_ci void FogCoord[fd]EXT(T coord) 945bd8deadSopenharmony_ci void FogCoord[fd]vEXT(T coord) 955bd8deadSopenharmony_ci void FogCoordPointerEXT(enum type, sizei stride, void *pointer) 965bd8deadSopenharmony_ci 975bd8deadSopenharmony_ciNew Tokens 985bd8deadSopenharmony_ci 995bd8deadSopenharmony_ci Accepted by the <pname> parameter of Fogi and Fogf: 1005bd8deadSopenharmony_ci 1015bd8deadSopenharmony_ci FOG_COORDINATE_SOURCE_EXT 0x8450 1025bd8deadSopenharmony_ci 1035bd8deadSopenharmony_ci Accepted by the <param> parameter of Fogi and Fogf: 1045bd8deadSopenharmony_ci 1055bd8deadSopenharmony_ci FOG_COORDINATE_EXT 0x8451 1065bd8deadSopenharmony_ci FRAGMENT_DEPTH_EXT 0x8452 1075bd8deadSopenharmony_ci 1085bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, 1095bd8deadSopenharmony_ci GetFloatv, and GetDoublev: 1105bd8deadSopenharmony_ci 1115bd8deadSopenharmony_ci CURRENT_FOG_COORDINATE_EXT 0x8453 1125bd8deadSopenharmony_ci FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454 1135bd8deadSopenharmony_ci FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455 1145bd8deadSopenharmony_ci 1155bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetPointerv: 1165bd8deadSopenharmony_ci 1175bd8deadSopenharmony_ci FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ci Accepted by the <array> parameter of EnableClientState and 1205bd8deadSopenharmony_ci DisableClientState: 1215bd8deadSopenharmony_ci 1225bd8deadSopenharmony_ci FOG_COORDINATE_ARRAY_EXT 0x8457 1235bd8deadSopenharmony_ci 1245bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.2 Specification (OpenGL Operation) 1255bd8deadSopenharmony_ci 1265bd8deadSopenharmony_ci These changes describe a new current state type, the fog coordinate, 1275bd8deadSopenharmony_ci and the commands to specify it: 1285bd8deadSopenharmony_ci 1295bd8deadSopenharmony_ci - (2.6, p. 12) Second paragraph changed to: 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ci "Each vertex is specified with two, three, or four coordinates. 1325bd8deadSopenharmony_ci In addition, a current normal, current texture coordinates, 1335bd8deadSopenharmony_ci current color, and current fog coordinate may be used in 1345bd8deadSopenharmony_ci processing each vertex." 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ci - 2.6.3, p. 19) First paragraph changed to 1375bd8deadSopenharmony_ci 1385bd8deadSopenharmony_ci "The only GL commands that are allowed within any Begin/End 1395bd8deadSopenharmony_ci pairs are the commands for specifying vertex coordinates, vertex 1405bd8deadSopenharmony_ci colors, normal coordinates, texture coordinates, and fog 1415bd8deadSopenharmony_ci coordinates (Vertex, Color, Index, Normal, TexCoord, 1425bd8deadSopenharmony_ci FogCoord)..." 1435bd8deadSopenharmony_ci 1445bd8deadSopenharmony_ci - (2.7, p. 20) Insert the following paragraph following the third 1455bd8deadSopenharmony_ci paragraph describing current normals: 1465bd8deadSopenharmony_ci 1475bd8deadSopenharmony_ci " The current fog coodinate is set using 1485bd8deadSopenharmony_ci void FogCoord[fd]EXT(T coord) 1495bd8deadSopenharmony_ci void FogCoord[fd]vEXT(T coord)." 1505bd8deadSopenharmony_ci 1515bd8deadSopenharmony_ci The last paragraph is changed to read: 1525bd8deadSopenharmony_ci 1535bd8deadSopenharmony_ci "The state required to support vertex specification consists of 1545bd8deadSopenharmony_ci four floating-point numbers to store the current texture 1555bd8deadSopenharmony_ci coordinates s, t, r, and q, one floating-point value to store 1565bd8deadSopenharmony_ci the current fog coordinate, four floating-point values to store 1575bd8deadSopenharmony_ci the current RGBA color, and one floating-point value to store 1585bd8deadSopenharmony_ci the current color index. There is no notion of a current vertex, 1595bd8deadSopenharmony_ci so no state is devoted to vertex coordinates. The initial values 1605bd8deadSopenharmony_ci of s, t, and r of the current texture coordinates are zero; the 1615bd8deadSopenharmony_ci initial value of q is one. The initial fog coordinate is zero. 1625bd8deadSopenharmony_ci The initial current normal has coordinates (0,0,1). The initial 1635bd8deadSopenharmony_ci RGBA color is (R,G,B,A) = (1,1,1,1). The initial color index is 1645bd8deadSopenharmony_ci 1." 1655bd8deadSopenharmony_ci 1665bd8deadSopenharmony_ci - (2.8, p. 21) Added fog coordinate command for vertex arrays: 1675bd8deadSopenharmony_ci 1685bd8deadSopenharmony_ci Change first paragraph to read: 1695bd8deadSopenharmony_ci 1705bd8deadSopenharmony_ci "The vertex specification commands described in section 2.7 1715bd8deadSopenharmony_ci accept data in almost any format, but their use requires many 1725bd8deadSopenharmony_ci command executions to specify even simple geometry. Vertex data 1735bd8deadSopenharmony_ci may also be placed into arrays that are stored in the client's 1745bd8deadSopenharmony_ci address space. Blocks of data in these arrays may then be used 1755bd8deadSopenharmony_ci to specify multiple geometric primitives through the execution 1765bd8deadSopenharmony_ci of a single GL command. The client may specify up to seven 1775bd8deadSopenharmony_ci arrays: one each to store edge flags, texture coordinates, fog 1785bd8deadSopenharmony_ci coordinates, colors, color indices, normals, and vertices. The 1795bd8deadSopenharmony_ci commands" 1805bd8deadSopenharmony_ci 1815bd8deadSopenharmony_ci Add to functions listed following first paragraph: 1825bd8deadSopenharmony_ci 1835bd8deadSopenharmony_ci void FogCoordPointerEXT(enum type, sizei stride, void *pointer) 1845bd8deadSopenharmony_ci 1855bd8deadSopenharmony_ci Add to table 2.4 (p. 22): 1865bd8deadSopenharmony_ci 1875bd8deadSopenharmony_ci Command Sizes Types 1885bd8deadSopenharmony_ci ------- ----- ----- 1895bd8deadSopenharmony_ci FogCoordPointerEXT 1 float,double 1905bd8deadSopenharmony_ci 1915bd8deadSopenharmony_ci Starting with the second paragraph on p. 23, change to add 1925bd8deadSopenharmony_ci FOG_COORDINATE_ARRAY_EXT: 1935bd8deadSopenharmony_ci 1945bd8deadSopenharmony_ci "An individual array is enabled or disabled by calling one of 1955bd8deadSopenharmony_ci 1965bd8deadSopenharmony_ci void EnableClientState(enum array) 1975bd8deadSopenharmony_ci void DisableClientState(enum array) 1985bd8deadSopenharmony_ci 1995bd8deadSopenharmony_ci with array set to EDGE_FLAG_ARRAY, TEXTURE_COORD_ARRAY, 2005bd8deadSopenharmony_ci FOG_COORDINATE_ARRAY_EXT, COLOR_ARRAY, INDEX_ARRAY, 2015bd8deadSopenharmony_ci NORMAL_ARRAY, or VERTEX_ARRAY, for the edge flag, texture 2025bd8deadSopenharmony_ci coordinate, fog coordinate, color, color index, normal, or 2035bd8deadSopenharmony_ci vertex array, respectively. 2045bd8deadSopenharmony_ci 2055bd8deadSopenharmony_ci The ith element of every enabled array is transferred to the GL 2065bd8deadSopenharmony_ci by calling 2075bd8deadSopenharmony_ci 2085bd8deadSopenharmony_ci void ArrayElement(int i) 2095bd8deadSopenharmony_ci 2105bd8deadSopenharmony_ci For each enabled array, it is as though the corresponding 2115bd8deadSopenharmony_ci command from section 2.7 or section 2.6.2 were called with a 2125bd8deadSopenharmony_ci pointer to element i. For the vertex array, the corresponding 2135bd8deadSopenharmony_ci command is Vertex<size><type>v, where <size> is one of [2,3,4], 2145bd8deadSopenharmony_ci and <type> is one of [s,i,f,d], corresponding to array types 2155bd8deadSopenharmony_ci short, int, float, and double respectively. The corresponding 2165bd8deadSopenharmony_ci commands for the edge flag, texture coordinate, fog coordinate, 2175bd8deadSopenharmony_ci color, color, color index, and normal arrays are EdgeFlagv, 2185bd8deadSopenharmony_ci TexCoord<size><type>v, FogCoord<type>v, Color<size><type>v, 2195bd8deadSopenharmony_ci Index<type>v, and Normal<type>v, respectively..." 2205bd8deadSopenharmony_ci 2215bd8deadSopenharmony_ci Change pseudocode on p. 27 to disable fog coordinate array for 2225bd8deadSopenharmony_ci canned interleaved array formats. After the lines 2235bd8deadSopenharmony_ci 2245bd8deadSopenharmony_ci DisableClientState(EDGE_FLAG_ARRAY); 2255bd8deadSopenharmony_ci DisableClientState(INDEX_ARRAY); 2265bd8deadSopenharmony_ci 2275bd8deadSopenharmony_ci insert the line 2285bd8deadSopenharmony_ci 2295bd8deadSopenharmony_ci DisableClientState(FOG_COORDINATE_ARRAY_EXT); 2305bd8deadSopenharmony_ci 2315bd8deadSopenharmony_ci Substitute "seven" for every occurence of "six" in the final 2325bd8deadSopenharmony_ci paragraph on p. 27. 2335bd8deadSopenharmony_ci 2345bd8deadSopenharmony_ci - (2.12, p. 41) Add fog coordinate to the current rasterpos state. 2355bd8deadSopenharmony_ci 2365bd8deadSopenharmony_ci Change the first sentence of the first paragraph to read 2375bd8deadSopenharmony_ci 2385bd8deadSopenharmony_ci "The state required for the current raster position consists of 2395bd8deadSopenharmony_ci three window coordinates x_w, y_w, and z_w, a clip coordinate 2405bd8deadSopenharmony_ci w_c value, an eye coordinate distance, a fog coordinate, a valid 2415bd8deadSopenharmony_ci bit, and associated data consisting of a color and texture 2425bd8deadSopenharmony_ci coordinates." 2435bd8deadSopenharmony_ci 2445bd8deadSopenharmony_ci Change the last paragraph to read 2455bd8deadSopenharmony_ci 2465bd8deadSopenharmony_ci "The current raster position requires six single-precision 2475bd8deadSopenharmony_ci floating-point values for its x_w, y_w, and z_w window 2485bd8deadSopenharmony_ci coordinates, its w_c clip coordinate, its eye coordinate 2495bd8deadSopenharmony_ci distance, and its fog coordinate, a single valid bit, a color 2505bd8deadSopenharmony_ci (RGBA color and color index), and texture coordinates for 2515bd8deadSopenharmony_ci associated data. In the initial state, the coordinates and 2525bd8deadSopenharmony_ci texture coordinates are both (0,0,0,1), the fog coordinate is 0, 2535bd8deadSopenharmony_ci the eye coordinate distance is 0, the valid bit is set, the 2545bd8deadSopenharmony_ci associated RGBA color is (1,1,1,1), and the associated color 2555bd8deadSopenharmony_ci index color is 1. In RGBA mode, the associated color index 2565bd8deadSopenharmony_ci always has its initial value; in color index mode, the RGBA 2575bd8deadSopenharmony_ci color always maintains its initial value." 2585bd8deadSopenharmony_ci 2595bd8deadSopenharmony_ci - (3.10, p. 139) Change the second and third paragraphs to read 2605bd8deadSopenharmony_ci 2615bd8deadSopenharmony_ci "This factor f may be computed according to one of three 2625bd8deadSopenharmony_ci equations:" 2635bd8deadSopenharmony_ci 2645bd8deadSopenharmony_ci f = exp(-d*c) (3.24) 2655bd8deadSopenharmony_ci f = exp(-(d*c)^2) (3.25) 2665bd8deadSopenharmony_ci f = (e-c)/(e-s) (3.26) 2675bd8deadSopenharmony_ci 2685bd8deadSopenharmony_ci If the fog source (as defined below) is FRAGMENT_DEPTH_EXT, then 2695bd8deadSopenharmony_ci c is the eye-coordinate distance from the eye, (0 0 0 1) in eye 2705bd8deadSopenharmony_ci coordinates, to the fragment center. If the fog source is 2715bd8deadSopenharmony_ci FOG_COORDINATE_EXT, then c is the interpolated value of the fog 2725bd8deadSopenharmony_ci coordinate for this fragment. The equation and the fog source, 2735bd8deadSopenharmony_ci along with either d or e and s, is specified with 2745bd8deadSopenharmony_ci 2755bd8deadSopenharmony_ci void Fog{if}(enum pname, T param); 2765bd8deadSopenharmony_ci void Fog{if}v(enum pname, T params); 2775bd8deadSopenharmony_ci 2785bd8deadSopenharmony_ci If <pname> is FOG_MODE, then <param> must be, or <param> must 2795bd8deadSopenharmony_ci point to an integer that is one of the symbolic constants EXP, 2805bd8deadSopenharmony_ci EXP2, or LINEAR, in which case equation 3.24, 3.25, or 3.26,, 2815bd8deadSopenharmony_ci respectively, is selected for the fog calculation (if, when 3.26 2825bd8deadSopenharmony_ci is selected, e = s, results are undefined). If <pname> is 2835bd8deadSopenharmony_ci FOG_COORDINATE_SOURCE_EXT, then <param> is or <params> points to 2845bd8deadSopenharmony_ci an integer that is one of the symbolic constants 2855bd8deadSopenharmony_ci FRAGMENT_DEPTH_EXT or FOG_COORDINATE_EXT. If <pname> is 2865bd8deadSopenharmony_ci FOG_DENSITY, FOG_START, or FOG_END, then <param> is or <params> 2875bd8deadSopenharmony_ci points to a value that is d, s, or e, respectively. If d is 2885bd8deadSopenharmony_ci specified less than zero, the error INVALID_VALUE results." 2895bd8deadSopenharmony_ci 2905bd8deadSopenharmony_ci - (3.10, p. 140) Change the last paragraph preceding section 3.11 2915bd8deadSopenharmony_ci to read 2925bd8deadSopenharmony_ci 2935bd8deadSopenharmony_ci "The state required for fog consists of a three valued integer 2945bd8deadSopenharmony_ci to select the fog equation, three floating-point values d, e, 2955bd8deadSopenharmony_ci and s, an RGBA fog color and a fog color index, a two-valued 2965bd8deadSopenharmony_ci integer to select the fog coordinate source, and a single bit to 2975bd8deadSopenharmony_ci indicate whether or not fog is enabled. In the initial state, 2985bd8deadSopenharmony_ci fog is disabled, FOG_COORDINATE_SOURCE_EXT is 2995bd8deadSopenharmony_ci FRAGMENT_DEPTH_EXT, FOG_MODE is EXP, d = 1.0, e = 1.0, and s = 3005bd8deadSopenharmony_ci 0.0; C_f = (0,0,0,0) and i_f=0." 3015bd8deadSopenharmony_ci 3025bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 1.2.1 Specification (Rasterization) 3035bd8deadSopenharmony_ci 3045bd8deadSopenharmony_ci None 3055bd8deadSopenharmony_ci 3065bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 1.2.1 Specification (Per-Fragment 3075bd8deadSopenharmony_ciOperations and the Frame Buffer) 3085bd8deadSopenharmony_ci 3095bd8deadSopenharmony_ci None 3105bd8deadSopenharmony_ci 3115bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 1.2.1 Specification (Special Functions) 3125bd8deadSopenharmony_ci 3135bd8deadSopenharmony_ci None 3145bd8deadSopenharmony_ci 3155bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 1.2 Specification (State and State 3165bd8deadSopenharmony_ciRequests) 3175bd8deadSopenharmony_ci 3185bd8deadSopenharmony_ci None 3195bd8deadSopenharmony_ci 3205bd8deadSopenharmony_ciAdditions to Appendix A of the OpenGL 1.2.1 Specification (Invariance) 3215bd8deadSopenharmony_ci 3225bd8deadSopenharmony_ci None 3235bd8deadSopenharmony_ci 3245bd8deadSopenharmony_ciAdditions to the GLX / WGL / AGL Specifications 3255bd8deadSopenharmony_ci 3265bd8deadSopenharmony_ci None 3275bd8deadSopenharmony_ci 3285bd8deadSopenharmony_ciGLX Protocol 3295bd8deadSopenharmony_ci 3305bd8deadSopenharmony_ci Two new GL rendering commands are added. The following commands are 3315bd8deadSopenharmony_ci sent to the server as part of a glXRender request: 3325bd8deadSopenharmony_ci 3335bd8deadSopenharmony_ci FogCoordfvEXT 3345bd8deadSopenharmony_ci 2 8 rendering command length 3355bd8deadSopenharmony_ci 2 4124 rendering command opcode 3365bd8deadSopenharmony_ci 4 FLOAT32 v[0] 3375bd8deadSopenharmony_ci 3385bd8deadSopenharmony_ci FogCoorddvEXT 3395bd8deadSopenharmony_ci 2 12 rendering command length 3405bd8deadSopenharmony_ci 2 4125 rendering command opcode 3415bd8deadSopenharmony_ci 8 FLOAT64 v[0] 3425bd8deadSopenharmony_ci 3435bd8deadSopenharmony_ciErrors 3445bd8deadSopenharmony_ci 3455bd8deadSopenharmony_ci INVALID_ENUM is generated if FogCoordPointerEXT parameter <type> is 3465bd8deadSopenharmony_ci not FLOAT or DOUBLE. 3475bd8deadSopenharmony_ci 3485bd8deadSopenharmony_ci INVALID_VALUE is generated if FogCoordPointerEXT parameter <stride> 3495bd8deadSopenharmony_ci is negative. 3505bd8deadSopenharmony_ci 3515bd8deadSopenharmony_ciNew State 3525bd8deadSopenharmony_ci 3535bd8deadSopenharmony_ci(table 6.5, p. 195) 3545bd8deadSopenharmony_ci Get Value Type Get Command Initial Value Description Sec Attribute 3555bd8deadSopenharmony_ci --------- ---- ----------- ------------- ----------- --- --------- 3565bd8deadSopenharmony_ci CURRENT_FOG_COORDINATE_EXT R GetIntegerv, 0 Current 2.7 current 3575bd8deadSopenharmony_ci GetFloatv fog coordinate 3585bd8deadSopenharmony_ci 3595bd8deadSopenharmony_ci(table 6.6, p. 197) 3605bd8deadSopenharmony_ci Get Value Type Get Command Initial Value Description Sec Attribute 3615bd8deadSopenharmony_ci --------- ---- ----------- ------------- ----------- --- --------- 3625bd8deadSopenharmony_ci FOG_COORDINATE_ARRAY_EXT B IsEnabled False Fog coord array enable 2.8 vertex-array 3635bd8deadSopenharmony_ci FOG_COORDINATE_ARRAY_TYPE_EXT Z8 GetIntegerv FLOAT Type of fog coordinate 2.8 vertex-array 3645bd8deadSopenharmony_ci FOG_COORDINATE_ARRAY_STRIDE_EXT Z+ GetIntegerv 0 Stride between fog coords 2.8 vertex-array 3655bd8deadSopenharmony_ci FOG_COORDINATE_ARRAY_POINTER_EXT Y GetPointerv 0 Pointer to the fog coord array 2.8 vertex-array 3665bd8deadSopenharmony_ci 3675bd8deadSopenharmony_ci 3685bd8deadSopenharmony_ci(table 6.8, p. 198) 3695bd8deadSopenharmony_ci Get Value Type Get Command Initial Value Description Sec Attribute 3705bd8deadSopenharmony_ci --------- ---- ----------- ------------- ----------- --- --------- 3715bd8deadSopenharmony_ci FOG_COORDINATE_SOURCE_EXT Z2 GetIntegerv, FRAGMENT_DEPTH_EXT Source of fog 3.10 fog 3725bd8deadSopenharmony_ci GetFloatv coordinate for 3735bd8deadSopenharmony_ci fog calculation 3745bd8deadSopenharmony_ci 3755bd8deadSopenharmony_ciRevision History 3765bd8deadSopenharmony_ci 3775bd8deadSopenharmony_ci * Revision 1.6 - Functionality complete 3785bd8deadSopenharmony_ci 3795bd8deadSopenharmony_ci * Revision 1.7-1.9 - Fix typos and add fields to bring up to date with 3805bd8deadSopenharmony_ci the new extension template. No functionality changes. 381