back  Return to list

GL_ARB_texture_mirrored_repeat
homeprevnext Name
  
    ARB_texture_mirrored_repeat  
  
homeprevnext Name Strings
  
    GL_ARB_texture_mirrored_repeat  
  
homeprevnext Contact
  
    Bimal Poddar, Intel, bimal.poddar at intel.com  
    Dan Brokenshire, IBM, brokensh at us.ibm.com  
    Pat Brown, Nvidia, pbrown at nvidia.com  
  
homeprevnext Status
  
    Complete. Approved by ARB on October 16, 2001.  
  
homeprevnext Version
  
    Last modified date: 2001/09/20  
  
homeprevnext Number
  
    ARB Extension #21  
  
homeprevnext Dependencies
  
    This extension is written against the OpenGL 1.3 Specification.  
    However, this extension does not require OpenGL 1.3.  
  
homeprevnext Overview
  
    ARB_texture_mirrored_repeat extends the set of texture wrap modes to  
    include a mode (GL_MIRRORED_REPEAT_ARB) that effectively uses a texture  
    map twice as large at the original image in which the additional half,  
    for each coordinate, 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".  
  
homeprevnext Issues
  
 1. 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.  
  
  
 2. The IBM_texture_mirrored_repeat extension inadvertantly used an HP  
    enumerant value (0x8370) allocated by HP as an interleaved array format.  
    Should the enumerant value be changed if this becomes an ARB extension?  
  
    No, it is not worth the confusion created by having two different  
    enumerant value for the same token.  
  
 3. Should additional mirroring functions be added to this extension and  
    perhaps rename it to ARB_texture_mirror. For example, include the two  
    mirror modes (MIRROR_CLAMP_ATI and MIRROR_CLAMP_TO_EDGE_ATI) provided  
    for in the GL_ATI_texture_mirror_once extension.  
  
    No, these extensions are not interdependent and inclusion of the  
    mirror once will likely hinder the adoption of this extension.  
  
homeprevnext New Procedures and Functions
  
    None  
  
homeprevnext 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:  
  
      GL_MIRRORED_REPEAT_ARB                    0x8370  
  
homeprevnext Additions to Chapter 2 of the GL Specification (OpenGL Operation)
  
    None.  
  
homeprevnext Additions to Chapter 3 of the GL Specification (Rasterization)
  
  Modify Table 3.19, editing only the following lines:  
  
    Name              Type      Legal Values  
    ==============    =======   ====================  
    TEXTURE_WRAP_S    integer   CLAMP, CLAMP_TO_EDGE, REPEAT,  
                                CLAMP_TO_BORDER_ARB, MIRRORED_REPEAT_ARB  
    TEXTURE_WRAP_T    integer   CLAMP, CLAMP_TO_EDGE, REPEAT,  
                                CLAMP_TO_BORDER_ARB, MIRRORED_REPEAT_ARB  
    TEXTURE_WRAP_R    integer   CLAMP, CLAMP_TO_EDGE, REPEAT,  
                                CLAMP_TO_BORDER_ARB, MIRRORED_REPEAT_ARB  
  
  Add to end of Section 3.8.5 (Subsection "Texture Wrap Modes")  
  
    If TEXTURE_WRAP_S, TEXTURE_WRAP_T, or TEXTURE_WRAP_R is set to  
    MIRRORED_REPEAT_ARB, 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.  
  
    The converted s (or t or r) coordinate is then clamped  
    as described for CLAMP_TO_EDGE texture coordinate clamping.  
  
homeprevnext Additions to Chapter 4 of the GL Specification (Per-Fragment Operations and the Framebuffer)
  
    None  
  
homeprevnext Additions to Chapter 5 of the GL Specification (Special Functions)
  
    None  
  
homeprevnext Additions to Chapter 6 of the GL Specification (State and State Requests)
  
    None  
  
homeprevnext Additions to Appendix F of the GL Specification (ARB Extensions)
  
    None  
  
homeprevnext Additions to the GLX Specification
  
    None  
  
homeprevnext GLX Protocol
  
    None.  
  
homeprevnext Errors
  
    None  
  
homeprevnext New State
  
    Only the type information changes for these parameters:  
  
                                                        Initial  
    Get Value       Get Command     Type    Value   Description          Sec.   Attrib  
    ---------       -----------     ----    ------- -----------          ----   ------  
    TEXTURE_WRAP_S  GetTexParameteriv   n x Z5 REPEAT  Texture Wrap Mode S  3.8    texture  
    TEXTURE_WRAP_T  GetTexParameteriv   n x Z5 REPEAT  Texture Wrap Mode T  3.8    texture  
    TEXTURE_WRAP_R  GetTexParameteriv   n x Z5 REPEAT  Texture Wrap Mode R  3.8    texture  
  
homeprevnext New Implementation Dependent State
  
    None  
  
  
homeprevnext Revision History
    01/09/20 bpoddar    - Moved description for section 3.8.5 to the end  
                          to avoid a forward reference  
                        - Changed to using the old enumerant  
                        - Minor typo/email address fixes  
  
    01/09/11 bpoddar    - Updated for OpenGL 1.3 spec.  
                        - Minor change to description of clamping.  
  
    01/03/22 brokensh   Converted the IBM extension to a ARB extension  
                        written against the latest specification.  
  
  
  
Valid XHTML 1.1! Valid CSS! Last update: November 14, 2006.
Cette page doit être lue avec un navigateur récent respectant le standard XHTML 1.1.