15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    ATI_texture_mirror_once
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_ATI_texture_mirror_once
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Dan Ginsburg, AMD (dan.ginsburg 'at' amd.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciVersion
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    Last Modified Date: 11/4/2006 Revision: 0.31
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciNumber
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    221
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ciDependencies
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ci    EXT_texture3D
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ciOverview
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ci    ATI_texture_mirror_once extends the set of texture wrap modes to 
285bd8deadSopenharmony_ci    include two modes (GL_MIRROR_CLAMP_ATI, GL_MIRROR_CLAMP_TO_EDGE_ATI) 
295bd8deadSopenharmony_ci    that effectively use a texture map twice as large as the original image 
305bd8deadSopenharmony_ci    in which the additional half of the new image is a mirror image of the 
315bd8deadSopenharmony_ci    original image.
325bd8deadSopenharmony_ci
335bd8deadSopenharmony_ci    This new mode relaxes the need to generate images whose opposite edges
345bd8deadSopenharmony_ci    match by using the original image to generate a matching "mirror image".
355bd8deadSopenharmony_ci    This mode allows the texture to be mirrored only once in the negative
365bd8deadSopenharmony_ci    s, t, and r directions.
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ciIssues
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ci    None known
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ciNew Procedure and Functions
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ci    None
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ciNew Tokens
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ci    Accepted by the <param> parameter of TexParameteri and TexParameterf,
495bd8deadSopenharmony_ci    and by the <params> parameter of TexParameteriv and TexParameterfv, when
505bd8deadSopenharmony_ci    their <pname> parameter is TEXTURE_WRAP_S, TEXTURE_WRAP_T, or
515bd8deadSopenharmony_ci    TEXTURE_WRAP_R_EXT:
525bd8deadSopenharmony_ci
535bd8deadSopenharmony_ci      MIRROR_CLAMP_ATI                     0x8742
545bd8deadSopenharmony_ci      MIRROR_CLAMP_TO_EDGE_ATI             0x8743
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 1.2.1 Specification (Operation)
575bd8deadSopenharmony_ci
585bd8deadSopenharmony_ci    None
595bd8deadSopenharmony_ci
605bd8deadSopenharmony_ciAdditions to Chapter 3 if the OpenGL 1.2.1 Specification (Rasterization):
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ci  - (3.8.3, p. 124) Change first three entries in table:
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ci    "TEXTURE_WRAP_S     integer     CLAMP, CLAMP_TO_EDGE, REPEAT, 
655bd8deadSopenharmony_ci                                    MIRROR_CLAMP_ATI, MIRROR_CLAMP_TO_EDGE_ATI
665bd8deadSopenharmony_ci     TEXTURE_WRAP_T     integer     CLAMP, CLAMP_TO_EDGE, REPEAT, 
675bd8deadSopenharmony_ci                                    MIRROR_CLAMP_ATI, MIRROR_CLAMP_TO_EDGE_ATI
685bd8deadSopenharmony_ci     TEXTURE_WRAP_R     integer     CLAMP, CLAMP_TO_EDGE, REPEAT, 
695bd8deadSopenharmony_ci                                    MIRROR_CLAMP_ATI, MIRROR_CLAMP_TO_EDGE_ATI"
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci  - (3.8.4, p. 125) Added after second paragraph:
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    "If TEXTURE_WRAP_S, TEXTURE_WRAP_T, or TEXTURE_WRAP_R_EXT is set to
745bd8deadSopenharmony_ci     MIRROR_CLAMP_ATI or MIRROR_CLAMP_TO_EDGE_ATI, the s (or t or r) 
755bd8deadSopenharmony_ci     coordinate is clamped to [-1, 1] and then converted to:
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci         s      0  <= s <= 1
785bd8deadSopenharmony_ci        -s     -1  <= s <  0
795bd8deadSopenharmony_ci
805bd8deadSopenharmony_ci     Like the CLAMP wrap mode, with MIRROR_CLAMP_ATI the texels from 
815bd8deadSopenharmony_ci     the border can be used by the texture filter.  MIRROR_CLAMP_TO_EDGE_ATI 
825bd8deadSopenharmony_ci     clamps texture coordinates at all mipmap levels such that the texture 
835bd8deadSopenharmony_ci     filter never samples a border texel."
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ci  - (3.8.5, p.127) Change last paragraph to:
865bd8deadSopenharmony_ci
875bd8deadSopenharmony_ci    "When TEXTURE_MIN_FILTER is LINEAR, a 2 x 2 x 2 cube of texels in the
885bd8deadSopenharmony_ci     image array of level TEXTURE_BASE_LEVEL is selected.  This cube is 
895bd8deadSopenharmony_ci     obtained by first clamping texture coordinates as described above 
905bd8deadSopenharmony_ci     under Texture Wrap Modes (if the wrap mode for a coordinate is CLAMP,
915bd8deadSopenharmony_ci     CLAMP_TO_EDGE, MIRROR_CLAMP_ATI, or MIRROR_CLAMP_TO_EDGE_ATI) and 
925bd8deadSopenharmony_ci     computing..."
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci
955bd8deadSopenharmony_ciAdditions to Chapter 4:
965bd8deadSopenharmony_ci
975bd8deadSopenharmony_ci    None
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ciAdditions to Chapter 5:
1005bd8deadSopenharmony_ci
1015bd8deadSopenharmony_ci    None
1025bd8deadSopenharmony_ci
1035bd8deadSopenharmony_ciAdditions to Chapter 6:
1045bd8deadSopenharmony_ci
1055bd8deadSopenharmony_ci    None
1065bd8deadSopenharmony_ci
1075bd8deadSopenharmony_ciAdditions to the GLX Specification
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci    None
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ciGLX Protocol
1125bd8deadSopenharmony_ci
1135bd8deadSopenharmony_ci    None
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ciErrors
1165bd8deadSopenharmony_ci
1175bd8deadSopenharmony_ci    None
1185bd8deadSopenharmony_ci
1195bd8deadSopenharmony_ciDependencies on EXT_texture3D
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ci    If EXT_texture3D is not implemented, then the references to clamping of 3D
1225bd8deadSopenharmony_ci    textures in this file are invalid, and references to TEXTURE_WRAP_R_EXT
1235bd8deadSopenharmony_ci    should be ignored.
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ci
1265bd8deadSopenharmony_ciNew State
1275bd8deadSopenharmony_ci
1285bd8deadSopenharmony_ci    Only the type information changes for these parameters:
1295bd8deadSopenharmony_ci
1305bd8deadSopenharmony_ci    Get Value           Get Command             Type    Initial Value   Attrib
1315bd8deadSopenharmony_ci    ---------           -----------             ----    -------------   ------
1325bd8deadSopenharmony_ci    TEXTURE_WRAP_S      GetTexParameteriv       n x Z5  REPEAT          texture
1335bd8deadSopenharmony_ci    TEXTURE_WRAP_T      GetTexParameteriv       n x Z5  REPEAT          texture
1345bd8deadSopenharmony_ci    TEXTURE_WRAP_R_EXT  GetTexParameteriv       n x Z5  REPEAT          texture
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ciNew Implementation Dependent State
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ci    None
1395bd8deadSopenharmony_ci
1405bd8deadSopenharmony_ci
1415bd8deadSopenharmony_ci    
142