15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci ARB_depth_texture 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_ARB_depth_texture 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Brian Paul (brian_e_paul 'at' yahoo.com) 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciNotice 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci Copyright (c) 2002-2013 The Khronos Group Inc. Copyright terms at 165bd8deadSopenharmony_ci http://www.khronos.org/registry/speccopyright.html 175bd8deadSopenharmony_ci 185bd8deadSopenharmony_ciSpecification Update Policy 195bd8deadSopenharmony_ci 205bd8deadSopenharmony_ci Khronos-approved extension specifications are updated in response to 215bd8deadSopenharmony_ci issues and bugs prioritized by the Khronos OpenGL Working Group. For 225bd8deadSopenharmony_ci extensions which have been promoted to a core Specification, fixes will 235bd8deadSopenharmony_ci first appear in the latest version of that core Specification, and will 245bd8deadSopenharmony_ci eventually be backported to the extension document. This policy is 255bd8deadSopenharmony_ci described in more detail at 265bd8deadSopenharmony_ci https://www.khronos.org/registry/OpenGL/docs/update_policy.php 275bd8deadSopenharmony_ci 285bd8deadSopenharmony_ciStatus 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ci Complete. 315bd8deadSopenharmony_ci Approved by the ARB on February 14, 2002. 325bd8deadSopenharmony_ci Updated version (June 1, 2004) approved by the ARB on June 8, 2004. 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ciVersion 355bd8deadSopenharmony_ci 365bd8deadSopenharmony_ci Last Modified Date: November 29, 2004 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ciNumber 395bd8deadSopenharmony_ci 405bd8deadSopenharmony_ci ARB Extension #22 415bd8deadSopenharmony_ci 425bd8deadSopenharmony_ciDependencies 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ci OpenGL 1.1 is required. 455bd8deadSopenharmony_ci This extension is written against the OpenGL 1.3 Specification. 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ciOverview 485bd8deadSopenharmony_ci 495bd8deadSopenharmony_ci This is a clarification of the GL_SGIX_depth_texture extension. The 505bd8deadSopenharmony_ci original overview follows: 515bd8deadSopenharmony_ci 525bd8deadSopenharmony_ci This extension defines a new depth texture format. An important 535bd8deadSopenharmony_ci application of depth texture images is shadow casting, but separating 545bd8deadSopenharmony_ci this from the shadow extension allows for the potential use of depth 555bd8deadSopenharmony_ci textures in other applications such as image-based rendering or 565bd8deadSopenharmony_ci displacement mapping. This extension does not define new depth-texture 575bd8deadSopenharmony_ci environment functions, such as filtering or applying the depth values 585bd8deadSopenharmony_ci computed from a texture but leaves this to other extensions, such as 595bd8deadSopenharmony_ci the shadow extension. 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ciIP Status 625bd8deadSopenharmony_ci 635bd8deadSopenharmony_ci None. 645bd8deadSopenharmony_ci 655bd8deadSopenharmony_ciIssues 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ci (1) How is this extension different from GL_SGIX_depth_texture? 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ci This extension defines support for texture border values, querying 705bd8deadSopenharmony_ci depth texel resolution, and behavior when a depth texture is bound 715bd8deadSopenharmony_ci to a texture unit that's expecting RGBA texels. 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ci (2) What about texture borders and the border value? 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ci Texture borders are supported. The texture border value used for 765bd8deadSopenharmony_ci depth textures is the first component of TEXTURE_BORDER_COLOR. 775bd8deadSopenharmony_ci 785bd8deadSopenharmony_ci (3) What happens when a depth texture is currently bound but RGBA 795bd8deadSopenharmony_ci texels are expected by the texture unit? 805bd8deadSopenharmony_ci 815bd8deadSopenharmony_ci The depth texture is treated as if it were a LUMINANCE texture. 825bd8deadSopenharmony_ci It's sometimes useful to render a depth component texture as a 835bd8deadSopenharmony_ci grayscale texture. 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci (4) What happens when an RGBA texture is currently bound but depth 865bd8deadSopenharmony_ci texels are expected by the texture unit? 875bd8deadSopenharmony_ci 885bd8deadSopenharmony_ci We do texturing in the normal way for an RGBA texture. 895bd8deadSopenharmony_ci 905bd8deadSopenharmony_ci (5) What about 1D, 3D and cube maps textures? Should depth textures 915bd8deadSopenharmony_ci be supported? 925bd8deadSopenharmony_ci 935bd8deadSopenharmony_ci RESOLVED: For 1D textures, yes, for orthogonality. For 3D and cube map 945bd8deadSopenharmony_ci textures, no. In both cases, the R coordinate that would be ordinarily 955bd8deadSopenharmony_ci be used for a shadow comparison is needed for texture lookup and won't 965bd8deadSopenharmony_ci contain a useful value. In theory, the shadow functionality could be 975bd8deadSopenharmony_ci extended to provide useful behavior for such targets, but this 985bd8deadSopenharmony_ci enhancement is left to a future extension. 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ci (6) Why "depth" textures instead of a generic, extended-precision, 1015bd8deadSopenharmony_ci single-channel texture format? 1025bd8deadSopenharmony_ci 1035bd8deadSopenharmony_ci RESOLVED: We need a depth format so that glCopyTex[Sub]Image() 1045bd8deadSopenharmony_ci can copy data from the depth buffer to the texture memory. 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ci (7) Is there any particular reason that depth textures should only be 1075bd8deadSopenharmony_ci used as LUMINANCE textures? 1085bd8deadSopenharmony_ci 1095bd8deadSopenharmony_ci RESOLVED: Add DEPTH_TEXTURE_MODE to allow depth textures to be used 1105bd8deadSopenharmony_ci as LUMINANCE, INTENSITY or ALPHA textures. 1115bd8deadSopenharmony_ci 1125bd8deadSopenharmony_ci (8) It is very unlikely that depth textures when used as LUMINANCE, 1135bd8deadSopenharmony_ci INTENSITY or ALPHA textures are used at their full storage precision. 1145bd8deadSopenharmony_ci Should there be a query for the actual number of bits used for 1155bd8deadSopenharmony_ci depth textures? 1165bd8deadSopenharmony_ci 1175bd8deadSopenharmony_ci RESOLVED: No. OpenGL does not have queries for internal precision. 1185bd8deadSopenharmony_ci Instead of adding it randomly for one feature, it should be looked 1195bd8deadSopenharmony_ci in the broader context of providing it for more features. 1205bd8deadSopenharmony_ci 1215bd8deadSopenharmony_ci (9) How should GetTexImage work for depth textures? 1225bd8deadSopenharmony_ci 1235bd8deadSopenharmony_ci RESOLVED: Since GetTexImage is modeled on ReadPixels, reading depth 1245bd8deadSopenharmony_ci components should require the DEPTH_COMPONENT format. Specifying a 1255bd8deadSopenharmony_ci color format when querying a texture image with a DEPTH_COMPONENT 1265bd8deadSopenharmony_ci base internal format should be an invalid operation. Likewise, 1275bd8deadSopenharmony_ci specifying a DEPTH_COMPONENT format when querying a texture image 1285bd8deadSopenharmony_ci with a color internal format should be an invalid operation. 1295bd8deadSopenharmony_ci This is not only consistent with ReadPixels but how the 1305bd8deadSopenharmony_ci EXT_paletted_texture and NV_texture_shader extensions amend 1315bd8deadSopenharmony_ci GetTexImage to return non-color texture image data. 1325bd8deadSopenharmony_ci 1335bd8deadSopenharmony_ciNew Procedures and Functions 1345bd8deadSopenharmony_ci 1355bd8deadSopenharmony_ci None 1365bd8deadSopenharmony_ci 1375bd8deadSopenharmony_ciNew Tokens 1385bd8deadSopenharmony_ci 1395bd8deadSopenharmony_ci Accepted by the <internalFormat> parameter of TexImage1D, TexImage2D, 1405bd8deadSopenharmony_ci CopyTexImage1D and CopyTexImage2D: 1415bd8deadSopenharmony_ci 1425bd8deadSopenharmony_ci DEPTH_COMPONENT 1435bd8deadSopenharmony_ci DEPTH_COMPONENT16_ARB 0x81A5 (same as DEPTH_COMPONENT16_SGIX) 1445bd8deadSopenharmony_ci DEPTH_COMPONENT24_ARB 0x81A6 (same as DEPTH_COMPONENT24_SGIX) 1455bd8deadSopenharmony_ci DEPTH_COMPONENT32_ARB 0x81A7 (same as DEPTH_COMPONENT32_SGIX) 1465bd8deadSopenharmony_ci 1475bd8deadSopenharmony_ci Accepted by the <format> parameter of GetTexImage, TexImage1D, 1485bd8deadSopenharmony_ci TexImage2D, TexSubImage1D, and TexSubImage2D: 1495bd8deadSopenharmony_ci 1505bd8deadSopenharmony_ci DEPTH_COMPONENT 1515bd8deadSopenharmony_ci 1525bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetTexLevelParameterfv and 1535bd8deadSopenharmony_ci GetTexLevelParameteriv: 1545bd8deadSopenharmony_ci 1555bd8deadSopenharmony_ci TEXTURE_DEPTH_SIZE_ARB 0x884A 1565bd8deadSopenharmony_ci 1575bd8deadSopenharmony_ci Accepted by the <pname> parameter of TexParameterf, TexParameteri, 1585bd8deadSopenharmony_ci TexParameterfv, TexParameteriv, GetTexParameterfv, and GetTexParameteriv: 1595bd8deadSopenharmony_ci 1605bd8deadSopenharmony_ci DEPTH_TEXTURE_MODE_ARB 0x884B 1615bd8deadSopenharmony_ci 1625bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.3 Specification (OpenGL Operation) 1635bd8deadSopenharmony_ci 1645bd8deadSopenharmony_ci None 1655bd8deadSopenharmony_ci 1665bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.3 Specification (Rasterization) 1675bd8deadSopenharmony_ci 1685bd8deadSopenharmony_ci Section 3.8.1, Texture Image Specification, p. 116, change last 1695bd8deadSopenharmony_ci sentence of first paragraph to: 1705bd8deadSopenharmony_ci 1715bd8deadSopenharmony_ci "The format STENCIL_INDEX is not allowed." 1725bd8deadSopenharmony_ci 1735bd8deadSopenharmony_ci Section 3.8.1, Texture Image Specification, p. 116, change final 1745bd8deadSopenharmony_ci paragraph to read: 1755bd8deadSopenharmony_ci 1765bd8deadSopenharmony_ci "The selected groups are processed exactly as for DrawPixels, stopping 1775bd8deadSopenharmony_ci just before final conversion. Each R, G, B, A or depth component (D) 1785bd8deadSopenharmony_ci value so generated is clamped to [0,1]." 1795bd8deadSopenharmony_ci 1805bd8deadSopenharmony_ci Section 3.8.1, Texture Image Specification, p. 117, modify beginning of 1815bd8deadSopenharmony_ci the first paragraph: 1825bd8deadSopenharmony_ci 1835bd8deadSopenharmony_ci "Components are then selected from the resulting R, G, B, A, or D 1845bd8deadSopenharmony_ci values to obtain a texture with the base internal format specified 1855bd8deadSopenharmony_ci by..." 1865bd8deadSopenharmony_ci 1875bd8deadSopenharmony_ci Section 3.8.1, Texture Image Specification, p. 117, add two new paragraphs 1885bd8deadSopenharmony_ci after the beginning of the first paragraph: 1895bd8deadSopenharmony_ci 1905bd8deadSopenharmony_ci "Textures with a base internal format of DEPTH_COMPONENT are supported 1915bd8deadSopenharmony_ci by texture image specification commands only if <target> is TEXTURE_1D, 1925bd8deadSopenharmony_ci TEXTURE_2D, PROXY_TEXTURE_1D or PROXY_TEXTURE_2D. Using this format in 1935bd8deadSopenharmony_ci conjunction with any other <target> will result in an INVALID_OPERATION 1945bd8deadSopenharmony_ci error." 1955bd8deadSopenharmony_ci 1965bd8deadSopenharmony_ci "Textures with a base internal format of DEPTH_COMPONENT require depth 1975bd8deadSopenharmony_ci component data; textures with other base internal formats require RGBA 1985bd8deadSopenharmony_ci component data. The error INVALID_OPERATION is generated if the base 1995bd8deadSopenharmony_ci internal format is DEPTH_COMPONENT and format is not DEPTH_COMPONENT, 2005bd8deadSopenharmony_ci or if the base internal format is not DEPTH_COMPONENT and format is 2015bd8deadSopenharmony_ci DEPTH_COMPONENT." 2025bd8deadSopenharmony_ci 2035bd8deadSopenharmony_ci Section 3.8.1, Texture Image Specification, p. 117, modify the last 2045bd8deadSopenharmony_ci paragraph, which flows to p. 118: 2055bd8deadSopenharmony_ci 2065bd8deadSopenharmony_ci "... If a sized internal format is specified, the mapping of the R, G, 2075bd8deadSopenharmony_ci B, A, and D values to texture components is equivalent to ..." 2085bd8deadSopenharmony_ci 2095bd8deadSopenharmony_ci (on p. 118) "... If a compressed internal format is specified, the 2105bd8deadSopenharmony_ci mapping of the R, G, B, A, and D values to texture components is 2115bd8deadSopenharmony_ci equivalent to..." 2125bd8deadSopenharmony_ci 2135bd8deadSopenharmony_ci Section 3.8.1, Texture Image Specification, p. 118, add a new row to Table 2145bd8deadSopenharmony_ci 3.15. 2155bd8deadSopenharmony_ci 2165bd8deadSopenharmony_ci Base Internal Format RGBA Values Internal Components 2175bd8deadSopenharmony_ci -------------------- ----------- ------------------- 2185bd8deadSopenharmony_ci DEPTH_COMPONENT D D 2195bd8deadSopenharmony_ci 2205bd8deadSopenharmony_ci Section 3.8.1, Texture Image Specification, p. 118, add three new rows and 2215bd8deadSopenharmony_ci one new column to Table 3.16. 2225bd8deadSopenharmony_ci 2235bd8deadSopenharmony_ci Sized Internal Format Base Int. Format ... D bits 2245bd8deadSopenharmony_ci --------------------- ---------------- ------ 2255bd8deadSopenharmony_ci DEPTH_COMPONENT16_ARB DEPTH_COMPONENT 16 2265bd8deadSopenharmony_ci DEPTH_COMPONENT24_ARB DEPTH_COMPONENT 24 2275bd8deadSopenharmony_ci DEPTH_COMPONENT32_ARB DEPTH_COMPONENT 32 2285bd8deadSopenharmony_ci 2295bd8deadSopenharmony_ci Section 3.8.2, Alternate Texture Image Specification Commands, p. 125, 2305bd8deadSopenharmony_ci modify first paragraph to read: 2315bd8deadSopenharmony_ci 2325bd8deadSopenharmony_ci ... "The image is taken from the framebuffer exactly as if these 2335bd8deadSopenharmony_ci arguments were passed to CopyPixels, with argument <type> set to 2345bd8deadSopenharmony_ci COLOR or DEPTH_COMPONENT, depending on <internalformat>, stopping 2355bd8deadSopenharmony_ci after pixel transfer processing is complete. RGBA data is taken 2365bd8deadSopenharmony_ci from the current color buffer while depth component data is taken 2375bd8deadSopenharmony_ci from the depth buffer. If no depth buffer is present, the error 2385bd8deadSopenharmony_ci INVALID_OPERATION is generated. Subsequent processing is identical 2395bd8deadSopenharmony_ci to that described for TexImage2D, beginning with clamping of the R, 2405bd8deadSopenharmony_ci G, B, A, or depth values from the resulting pixel groups." ... 2415bd8deadSopenharmony_ci 2425bd8deadSopenharmony_ci Section 3.8.4, Texture Parameters, p. 133, append table 3.19 with the 2435bd8deadSopenharmony_ci following: 2445bd8deadSopenharmony_ci 2455bd8deadSopenharmony_ci Name Type Legal Values 2465bd8deadSopenharmony_ci -------------------------- ---- ------------------------------- 2475bd8deadSopenharmony_ci DEPTH_TEXTURE_MODE_ARB enum LUMINANCE, INTENSITY, ALPHA 2485bd8deadSopenharmony_ci 2495bd8deadSopenharmony_ci Before current section 3.8.5, Texture Wrap Modes, p. 134, insert the 2505bd8deadSopenharmony_ci following new section. Renumber subsections of 3.8 appropriately. 2515bd8deadSopenharmony_ci 2525bd8deadSopenharmony_ci "3.8.5 Depth Component Textures 2535bd8deadSopenharmony_ci 2545bd8deadSopenharmony_ci Depth textures can be treated as LUMINANCE, INTENSITY or ALPHA 2555bd8deadSopenharmony_ci textures during texture filtering and application. Initially, 2565bd8deadSopenharmony_ci depth textures are interpreted as LUMINANCE." 2575bd8deadSopenharmony_ci 2585bd8deadSopenharmony_ci Modify section 3.8.7, Texture Minification, p. 139. Modify the last 2595bd8deadSopenharmony_ci paragraph before the "Mipmapping" section to read: 2605bd8deadSopenharmony_ci 2615bd8deadSopenharmony_ci "If any of the selected tauijk, tauij, or taui in the above 2625bd8deadSopenharmony_ci equations refer to a border texel with i < -bs, j < bs, k < -bs, 2635bd8deadSopenharmony_ci i >= ws-bs, j >= hs-bs, or k >= ds-bs, then the border values 2645bd8deadSopenharmony_ci given by the current setting of TEXTURE_BORDER_COLOR is used 2655bd8deadSopenharmony_ci instead of the unspecified value or values. If the texture 2665bd8deadSopenharmony_ci contains color components, the components of the 2675bd8deadSopenharmony_ci TEXTURE_BORDER_COLOR vector are interpreted as an RGBA color 2685bd8deadSopenharmony_ci to match the texture's internal format in a manner consistent 2695bd8deadSopenharmony_ci with table 3.15. If the texture contains depth components, 2705bd8deadSopenharmony_ci the R component of the TEXTURE_BORDER_COLOR vector is 2715bd8deadSopenharmony_ci interpreted as the depth component value." 2725bd8deadSopenharmony_ci 2735bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.3 Specification (Per-Fragment Operations 2745bd8deadSopenharmony_ciand the Frame Buffer) 2755bd8deadSopenharmony_ci 2765bd8deadSopenharmony_ci None 2775bd8deadSopenharmony_ci 2785bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.3 Specification (Special Functions) 2795bd8deadSopenharmony_ci 2805bd8deadSopenharmony_ci None 2815bd8deadSopenharmony_ci 2825bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.3 Specification (State and State Requests) 2835bd8deadSopenharmony_ci 2845bd8deadSopenharmony_ci Section 6.1.3, Enumerated Queries, p. 200, edit paragraph two as follows: 2855bd8deadSopenharmony_ci 2865bd8deadSopenharmony_ci ..."Queries of TEXTURE_RED_SIZE, TEXTURE_GREEN_SIZE, 2875bd8deadSopenharmony_ci TEXTURE_BLUE_SIZE, TEXTURE_ALPHA_SIZE, TEXTURE_LUMINANCE_SIZE, 2885bd8deadSopenharmony_ci TEXTURE_INTENSITY_SIZE, and TEXTURE_DEPTH_SIZE_ARB return the 2895bd8deadSopenharmony_ci actual resolutions of the stored image array components, not 2905bd8deadSopenharmony_ci the resolutions specified when the image array was defined. 2915bd8deadSopenharmony_ci 2925bd8deadSopenharmony_ci Section 6.1.4, Texture Queries, p. 201, replace the sentence two of 2935bd8deadSopenharmony_ci paragraph two as follows: 2945bd8deadSopenharmony_ci 2955bd8deadSopenharmony_ci "Calling GetTexImage with a color format when the internal 2965bd8deadSopenharmony_ci format of the texture image is not a color format causes the error 2975bd8deadSopenharmony_ci INVALID_OPERATION. Likewise, calling GetTexImage with a format 2985bd8deadSopenharmony_ci of DEPTH_COMPONENT when the internal format of the texture 2995bd8deadSopenharmony_ci image is not a depth format cause the error INVALID_OPERATION. 3005bd8deadSopenharmony_ci If the internal format of the texture image level is a color 3015bd8deadSopenharmony_ci format (one of RED, GREEN, BLUE, ALPHA, RGB, BGR, RGBA, BGRA, 3025bd8deadSopenharmony_ci LUMINANCE, or LUMINANCE_ALPHA), then the components are assigned 3035bd8deadSopenharmony_ci among R, G, B, and A according to Table 6.1, starting with the 3045bd8deadSopenharmony_ci first group in the first row, and continuing by obtaining groups 3055bd8deadSopenharmony_ci in order from each row and proceeding from the first row to the 3065bd8deadSopenharmony_ci last, and from the first image to the last for three-dimensional 3075bd8deadSopenharmony_ci textures. If the internal format of the texture image level is a 3085bd8deadSopenharmony_ci depth format (DEPTH_COMPONENT), then each depth component is 3095bd8deadSopenharmony_ci assigned with the same ordering of rows and images." 3105bd8deadSopenharmony_ci 3115bd8deadSopenharmony_ci Replace the last sentence of paragraph four with: 3125bd8deadSopenharmony_ci 3135bd8deadSopenharmony_ci "Calling GetTexImage with format of COLOR_INDEX or STENCIL_INDEX 3145bd8deadSopenharmony_ci causes the error INVALID_ENUM." 3155bd8deadSopenharmony_ci 3165bd8deadSopenharmony_ci Section 1.6.7, Color Table Query, p.203, replace sentence two of 3175bd8deadSopenharmony_ci paragraph one with: 3185bd8deadSopenharmony_ci 3195bd8deadSopenharmony_ci "format and type accept the same values as do the corresponding 3205bd8deadSopenharmony_ci parameters of GetTexImage except that a format of DEPTH_COMPONENT 3215bd8deadSopenharmony_ci causes the error INVALID_ENUM." 3225bd8deadSopenharmony_ci 3235bd8deadSopenharmony_ci Section 1.6.8, Convolution Query, p.204, replace sentence two of 3245bd8deadSopenharmony_ci paragraph one with: 3255bd8deadSopenharmony_ci 3265bd8deadSopenharmony_ci "format and type accept the same values as do the corresponding 3275bd8deadSopenharmony_ci parameters of GetTexImage except that a format of DEPTH_COMPONENT 3285bd8deadSopenharmony_ci causes the error INVALID_ENUM." 3295bd8deadSopenharmony_ci 3305bd8deadSopenharmony_ci Replace sentence two of paragraph two (specifying GetSeparableFilter) 3315bd8deadSopenharmony_ci with: 3325bd8deadSopenharmony_ci 3335bd8deadSopenharmony_ci "format and type accept the same values as do the corresponding 3345bd8deadSopenharmony_ci parameters of GetTexImage except that a format of DEPTH_COMPONENT 3355bd8deadSopenharmony_ci causes the error INVALID_ENUM." 3365bd8deadSopenharmony_ci 3375bd8deadSopenharmony_ci Section 1.6.9, Histogram Query, p.205, replace sentence two of 3385bd8deadSopenharmony_ci paragraph one with: 3395bd8deadSopenharmony_ci 3405bd8deadSopenharmony_ci "format and type accept the same values as do the corresponding 3415bd8deadSopenharmony_ci parameters of GetTexImage except that a format of DEPTH_COMPONENT 3425bd8deadSopenharmony_ci causes the error INVALID_ENUM." 3435bd8deadSopenharmony_ci 3445bd8deadSopenharmony_ci Section 1.6.10, Minmax Query, p.205, replace sentence two of 3455bd8deadSopenharmony_ci paragraph one with: 3465bd8deadSopenharmony_ci 3475bd8deadSopenharmony_ci "format and type accept the same values as do the corresponding 3485bd8deadSopenharmony_ci parameters of GetTexImage except that a format of DEPTH_COMPONENT 3495bd8deadSopenharmony_ci causes the error INVALID_ENUM." 3505bd8deadSopenharmony_ci 3515bd8deadSopenharmony_ciAdditions to the GLX Specification 3525bd8deadSopenharmony_ci 3535bd8deadSopenharmony_ci None 3545bd8deadSopenharmony_ci 3555bd8deadSopenharmony_ciErrors 3565bd8deadSopenharmony_ci 3575bd8deadSopenharmony_ci INVALID_OPERATION is generated by TexImage2D or CopyTexImage2D if 3585bd8deadSopenharmony_ci <target> is not TEXTURE_2D or PROXY_TEXTURE_2D and <internalFormat> 3595bd8deadSopenharmony_ci is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB, DEPTH_COMPONENT24_ARB, or 3605bd8deadSopenharmony_ci DEPTH_COMPONENT32_ARB. 3615bd8deadSopenharmony_ci 3625bd8deadSopenharmony_ci INVALID_OPERATION is generated by TexImage1D or CopyTexImage1D if 3635bd8deadSopenharmony_ci <target> is not TEXTURE_1D or PROXY_TEXTURE_1D and <internalFormat> 3645bd8deadSopenharmony_ci is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB, DEPTH_COMPONENT24_ARB, or 3655bd8deadSopenharmony_ci DEPTH_COMPONENT32_ARB. 3665bd8deadSopenharmony_ci 3675bd8deadSopenharmony_ci INVALID_OPERATION is generated by TexImage1D or TexImage2D if <format> 3685bd8deadSopenharmony_ci is DEPTH_COMPONENT and <internalFormat> is not DEPTH_COMPONENT, 3695bd8deadSopenharmony_ci DEPTH_COMPONENT16_ARB, DEPTH_COMPONENT24_ARB, or DEPTH_COMPONENT32_ARB. 3705bd8deadSopenharmony_ci 3715bd8deadSopenharmony_ci INVALID_OPERATION is generated by TexImage1D or TexImage2D if 3725bd8deadSopenharmony_ci <internalFormat> is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB, 3735bd8deadSopenharmony_ci DEPTH_COMPONENT24_ARB, or DEPTH_COMPONENT32_ARB, and <format> is not 3745bd8deadSopenharmony_ci DEPTH_COMPONENT. 3755bd8deadSopenharmony_ci 3765bd8deadSopenharmony_ci INVALID_OPERATION is generated by TexSubImage1D or TexSubImage2D if 3775bd8deadSopenharmony_ci <format> is DEPTH_COMPONENT and the base internal format of the 3785bd8deadSopenharmony_ci texture is not DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB, 3795bd8deadSopenharmony_ci DEPTH_COMPONENT24_ARB, or DEPTH_COMPONENT32_ARB. 3805bd8deadSopenharmony_ci 3815bd8deadSopenharmony_ci INVALID_OPERATION is generated by TexSubImage1D or TexSubImage2D if 3825bd8deadSopenharmony_ci <format> is not DEPTH_COMPONENT and the base internal format of 3835bd8deadSopenharmony_ci the texture is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB, 3845bd8deadSopenharmony_ci DEPTH_COMPONENT24_ARB, or DEPTH_COMPONENT32_ARB. 3855bd8deadSopenharmony_ci 3865bd8deadSopenharmony_ci INVALID_OPERATION is generated by TexImage3D if <internalFormat> 3875bd8deadSopenharmony_ci is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB, DEPTH_COMPONENT24_ARB, 3885bd8deadSopenharmony_ci or DEPTH_COMPONENT32_ARB. 3895bd8deadSopenharmony_ci 3905bd8deadSopenharmony_ci INVALID_OPERATION is generated by CopyTexImage1D or CopyTexImage2D if 3915bd8deadSopenharmony_ci <internalFormat> is DEPTH_COMPONENT, DEPTH_COMPONENT16_ARB, 3925bd8deadSopenharmony_ci DEPTH_COMPONENT24_ARB, or DEPTH_COMPONENT32_ARB, and there is no depth 3935bd8deadSopenharmony_ci buffer. 3945bd8deadSopenharmony_ci 3955bd8deadSopenharmony_ci INVALID_OPERATION is generated by CopyTexSubImage1D or CopyTexSubImage2D 3965bd8deadSopenharmony_ci if the base internal format of the texture is DEPTH_COMPONENT and there 3975bd8deadSopenharmony_ci is no depth buffer. 3985bd8deadSopenharmony_ci 3995bd8deadSopenharmony_ci INVALID_ENUM is generated if TexParameter[if] parameter <pname> 4005bd8deadSopenharmony_ci is DEPTH_TEXTURE_MODE_ARB and parameter <param> is not ALPHA, 4015bd8deadSopenharmony_ci LUMINANCE, or INTENSITY. 4025bd8deadSopenharmony_ci 4035bd8deadSopenharmony_ci INVALID_OPERATION is generated if GetTexImage parameter <format> 4045bd8deadSopenharmony_ci is one of RED, GREEN, BLUE, ALPHA, RGB, RGBA, BGR, BGRA, LUMINANCE, 4055bd8deadSopenharmony_ci or LUMINANCE_ALPHA but the internal format of the texture level 4065bd8deadSopenharmony_ci image is not a color format. 4075bd8deadSopenharmony_ci 4085bd8deadSopenharmony_ci INVALID_OPERATION is generated if GetTexImage parameter <format> 4095bd8deadSopenharmony_ci is DEPTH_COMPONENT but the internal format of the texture level 4105bd8deadSopenharmony_ci image is not a depth format. 4115bd8deadSopenharmony_ci 4125bd8deadSopenharmony_ci Eliminate the INVALID_ENUM generated if GetTexImage parameter 4135bd8deadSopenharmony_ci <format> is DEPTH_COMPONENT. (but this should still be an error for 4145bd8deadSopenharmony_ci GetColorTable, GetConvolutionFilter, GetSeparableFilter, GetHistogram, 4155bd8deadSopenharmony_ci and GetMinmax). 4165bd8deadSopenharmony_ci 4175bd8deadSopenharmony_ciNew State 4185bd8deadSopenharmony_ci 4195bd8deadSopenharmony_ci In table 6.12, Texture Objects, p. 202, add the following: 4205bd8deadSopenharmony_ci 4215bd8deadSopenharmony_ci Initial 4225bd8deadSopenharmony_ci Get Value Type Get Command Value Description Sec. Attribute 4235bd8deadSopenharmony_ci ------------------ ---- -------------------- ------- ------------------------------------- ---- --------- 4245bd8deadSopenharmony_ci TEXTURE_DEPTH_SIZE Z+ GetTexLevelParameter 0 xD texture image i's depth resolution 3.8 - 4255bd8deadSopenharmony_ci 4265bd8deadSopenharmony_ci In table 6.16, Texture Objects, p. 224, add the following: 4275bd8deadSopenharmony_ci 4285bd8deadSopenharmony_ci Get Value Type Get Command Initial Value Description Sec. Attribute 4295bd8deadSopenharmony_ci -------------------------- ---- -------------------- ------------- -------------- ----- --------- 4305bd8deadSopenharmony_ci DEPTH_TEXTURE_MODE_ARB Z_3 GetTexParameter[if]v LUMINANCE depth texture mode 3.8.13 texture 4315bd8deadSopenharmony_ci 4325bd8deadSopenharmony_ci 4335bd8deadSopenharmony_ci 4345bd8deadSopenharmony_ciNew Implementation Dependent State 4355bd8deadSopenharmony_ci 4365bd8deadSopenharmony_ci None 4375bd8deadSopenharmony_ci 4385bd8deadSopenharmony_ciRevision History 4395bd8deadSopenharmony_ci 4405bd8deadSopenharmony_ci 19 March 2001 4415bd8deadSopenharmony_ci - initial version 4425bd8deadSopenharmony_ci 22 June 2001 4435bd8deadSopenharmony_ci - added 1D textures to issue 4 4445bd8deadSopenharmony_ci 16 November 2001 4455bd8deadSopenharmony_ci - removed TEXTURE_BORDER_DEPTH. use the first component of 4465bd8deadSopenharmony_ci TEXTURE_BORDER_COLOR to specify the depth border value. 4475bd8deadSopenharmony_ci - Added new language in section 3.8.5 to describe how 4485bd8deadSopenharmony_ci TEXTURE_BORDER_COLOR is used with depth textures. 4495bd8deadSopenharmony_ci - Inserted new issue item #4. 4505bd8deadSopenharmony_ci 17 November 2001 4515bd8deadSopenharmony_ci - Changed issue 4 resolution. 4525bd8deadSopenharmony_ci - Rewrote section 3.8.4 4535bd8deadSopenharmony_ci 12 December 2001 (Pat Brown) 4545bd8deadSopenharmony_ci - Retargeted against the OpenGL 1.3 specification. 4555bd8deadSopenharmony_ci - Depth textures are allowed only on 1D and 2D targets. Shadowing is 4565bd8deadSopenharmony_ci problematic for 3D and cube map textures. 4575bd8deadSopenharmony_ci - Updated base and sized internal format tables. 4585bd8deadSopenharmony_ci - Documented a couple missing error conditions for TexImage and 4595bd8deadSopenharmony_ci TexSubImage calls where <format> and the texture internal format are 4605bd8deadSopenharmony_ci incompatible. 4615bd8deadSopenharmony_ci - Minor cleanups to provide for depth components in wording that 4625bd8deadSopenharmony_ci formerly assumed RGBA components only. 4635bd8deadSopenharmony_ci 13 December 2001 4645bd8deadSopenharmony_ci - Removed a few lingering references to glTexImage3D. 4655bd8deadSopenharmony_ci - Rewrite the first and last error conditions to be clearer. 4665bd8deadSopenharmony_ci - replace "1.2" with "1.3" in a few places. 4675bd8deadSopenharmony_ci - fixed a few more error conditions (Pat Brown) 4685bd8deadSopenharmony_ci 11 January 2002 4695bd8deadSopenharmony_ci - fixed "intented" typo 4705bd8deadSopenharmony_ci - added sentence saying that TEXTURE_LUMINANCE_SIZE may be used 4715bd8deadSopenharmony_ci to query the effective resolution of a depth textures when it's 4725bd8deadSopenharmony_ci interpreted as a luminance texture. 4735bd8deadSopenharmony_ci 18 January 2002 4745bd8deadSopenharmony_ci - Allow depth textures to be used as LUMINANCE, INTENSITY or ALPHA 4755bd8deadSopenharmony_ci textures (Bimal Poddar) 4765bd8deadSopenharmony_ci 21 January 2002 4775bd8deadSopenharmony_ci - Added issue #8 to deal with actual depth texture precision. 4785bd8deadSopenharmony_ci Fixed error to be INVALID_ENUM instead of INVALID_OPERATION. 4795bd8deadSopenharmony_ci 13 May 2004 (mjk) 4805bd8deadSopenharmony_ci - Document GetTexImage behavior when depth texture formats are 4815bd8deadSopenharmony_ci supported. 4825bd8deadSopenharmony_ci - Document that GetColorTable, GetConvolutionFilter, GetHistogram, 4835bd8deadSopenharmony_ci and GetMinmax now differ from GetTexImage in that 4845bd8deadSopenharmony_ci DEPTH_COMPONENT is (still) not a legal format for these 4855bd8deadSopenharmony_ci queries. 4865bd8deadSopenharmony_ci - Document in "New Tokens" that DEPTH_COMPONENT is a newly accepted 4875bd8deadSopenharmony_ci token for the <internalFormat> parameter of TexImage1D, 4885bd8deadSopenharmony_ci TexImage2D, CopyTexImage1D and CopyTexImage2D; and the <format> 4895bd8deadSopenharmony_ci parameter of GetTexImage, TexImage1D, TexImage2D, TexSubImage1D, 4905bd8deadSopenharmony_ci and TexSubImage2D. 4915bd8deadSopenharmony_ci - Fix mangled sentence in 3.8.5 4925bd8deadSopenharmony_ci 1 June 2004 (John Rosasco) 4935bd8deadSopenharmony_ci - Added BGR and BGRA to the list of color internal formats in 4945bd8deadSopenharmony_ci section 6.1.4. 4955bd8deadSopenharmony_ci 29 November 2004 (mjk) 4965bd8deadSopenharmony_ci - Document that GetSeparableFilter now differ from GetTexImage 4975bd8deadSopenharmony_ci in that DEPTH_COMPONENT is (still) not a legal format for 4985bd8deadSopenharmony_ci these queries. 499