Name IBM_texture_mirrored_repeat Name Strings GL_IBM_texture_mirrored_repeat Version $Date: 1999/12/28 01:40:35 $ $Revision: 1.2 $ IBM Id: texture_mirrored_repeat.spec,v 1.5 1998/01/16 18:09:31 pbrown Exp Number 224 Dependencies EXT_texture_3D IBM_texture_edge_clamp Overview IBM_texture_mirrored_repeat extends the set of texture wrap modes to include a mode (GL_MIRRORED_REPEAT_IBM) that effectively uses a texture map twice as large at 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". Issues * The spec clamps the final (u,v) coordinates to the range [0.5, 2^n-0.5]. This will produce the same effect as trapping a sample of the border texel and using the corresponding edge texel. The choice of technique is purely an implementation detail. New Procedures 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: GL_MIRRORED_REPEAT_IBM 0x8370 Additions to Chapter 2 of the GL Specification (OpenGL Operation) None. Additions to Chapter 3 of the GL Specification (Rasterization) None Additions to Chapter 4 of the GL Specification (Per-Fragment Operations and the Framebuffer) Change to Section 3.8 (Subsection "Texture Wrap Modes") If TEXTURE_WRAP_S, TEXTURE_WRAP_T, or TEXTURE_WRAP_R_EXT is set to MIRRORED_REPEAT_IBM, the s (or t or r) coordinate is converted to: s - floor(s), if floor(s) is even, or 1 - (s - floor(s)), if floor(s) is odd. Change to Section 3.8.1, Texture Minification Let: u(x,y) = 2^n * s(x,y), v(x,y) = 2^m * t(x,y), and w(x,y) = 2^l * r(x,y). If the TEXTURE_WRAP_S, TEXTURE_WRAP_T, or TEXTURE_WRAP_R_EXT is set to either MIRRORED_REPEAT_IBM or CLAMP_TO_EDGE_IBM, the resulting u, v, or w coordinates (respectively) are clamped to the range [0.5, 2^n-0.5]. Additions to Chapter 5 of the GL Specification (Special Functions) None Additions to Chapter 6 of the GL Specification (State and State Requests) 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 clamping of 3D textures in this file are invalid, and references to TEXTURE_WRAP_R_EXT should be ignored. Dependencies on IBM_texture_edge_clamp If IBM_texture_edge_clamp is not implemented, then the references to CLAMP_TO_EDGE_IBM 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