Back to the OpenGL extension cross reference

GL_IBM_texture_mirrored_repeat


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 <param> parameter of TexParameteri and TexParameterf,
and by the <params> parameter of TexParameteriv and TexParameterfv, when
their <pname> 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

Implementation Support


   List of OpenGL implementations supporting the GL_IBM_texture_mirrored_repeat extension

Original File


   Original text file for the GL_IBM_texture_mirrored_repeat extension


Page generated on Sun Nov 20 18:38:56 2005