Name ATI_texture_mirror_once Name Strings GL_ATI_texture_mirror_once Contact Dan Ginsburg, AMD (dan.ginsburg 'at' amd.com) Version Last Modified Date: 11/4/2006 Revision: 0.31 Number 221 Dependencies EXT_texture3D Overview ATI_texture_mirror_once extends the set of texture wrap modes to include two modes (GL_MIRROR_CLAMP_ATI, GL_MIRROR_CLAMP_TO_EDGE_ATI) that effectively use a texture map twice as large as the original image in which the additional half of the new image is a mirror image of the original image. This new mode relaxes the need to generate images whose opposite edges match by using the original image to generate a matching "mirror image". This mode allows the texture to be mirrored only once in the negative s, t, and r directions. Issues None known New Procedure and Functions None New Tokens Accepted by the parameter of TexParameteri and TexParameterf, and by the parameter of TexParameteriv and TexParameterfv, when their parameter is TEXTURE_WRAP_S, TEXTURE_WRAP_T, or TEXTURE_WRAP_R_EXT: MIRROR_CLAMP_ATI 0x8742 MIRROR_CLAMP_TO_EDGE_ATI 0x8743 Additions to Chapter 2 of the OpenGL 1.2.1 Specification (Operation) None Additions to Chapter 3 if the OpenGL 1.2.1 Specification (Rasterization): - (3.8.3, p. 124) Change first three entries in table: "TEXTURE_WRAP_S integer CLAMP, CLAMP_TO_EDGE, REPEAT, MIRROR_CLAMP_ATI, MIRROR_CLAMP_TO_EDGE_ATI TEXTURE_WRAP_T integer CLAMP, CLAMP_TO_EDGE, REPEAT, MIRROR_CLAMP_ATI, MIRROR_CLAMP_TO_EDGE_ATI TEXTURE_WRAP_R integer CLAMP, CLAMP_TO_EDGE, REPEAT, MIRROR_CLAMP_ATI, MIRROR_CLAMP_TO_EDGE_ATI" - (3.8.4, p. 125) Added after second paragraph: "If TEXTURE_WRAP_S, TEXTURE_WRAP_T, or TEXTURE_WRAP_R_EXT is set to MIRROR_CLAMP_ATI or MIRROR_CLAMP_TO_EDGE_ATI, the s (or t or r) coordinate is clamped to [-1, 1] and then converted to: s 0 <= s <= 1 -s -1 <= s < 0 Like the CLAMP wrap mode, with MIRROR_CLAMP_ATI the texels from the border can be used by the texture filter. MIRROR_CLAMP_TO_EDGE_ATI clamps texture coordinates at all mipmap levels such that the texture filter never samples a border texel." - (3.8.5, p.127) Change last paragraph to: "When TEXTURE_MIN_FILTER is LINEAR, a 2 x 2 x 2 cube of texels in the image array of level TEXTURE_BASE_LEVEL is selected. This cube is obtained by first clamping texture coordinates as described above under Texture Wrap Modes (if the wrap mode for a coordinate is CLAMP, CLAMP_TO_EDGE, MIRROR_CLAMP_ATI, or MIRROR_CLAMP_TO_EDGE_ATI) and computing..." Additions to Chapter 4: None Additions to Chapter 5: None Additions to Chapter 6: None Additions to the GLX Specification None GLX Protocol None Errors None Dependencies on EXT_texture3D If EXT_texture3D is not implemented, then the references to clamping of 3D textures in this file are invalid, and references to TEXTURE_WRAP_R_EXT should be ignored. New State Only the type information changes for these parameters: Get Value Get Command Type Initial Value Attrib --------- ----------- ---- ------------- ------ TEXTURE_WRAP_S GetTexParameteriv n x Z5 REPEAT texture TEXTURE_WRAP_T GetTexParameteriv n x Z5 REPEAT texture TEXTURE_WRAP_R_EXT GetTexParameteriv n x Z5 REPEAT texture New Implementation Dependent State None