• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    IBM_texture_mirrored_repeat
4
5Name Strings
6
7    GL_IBM_texture_mirrored_repeat
8
9Version
10
11    $Date: 1999/12/28 01:40:35 $ $Revision: 1.2 $
12    IBM Id: texture_mirrored_repeat.spec,v 1.5 1998/01/16 18:09:31 pbrown Exp
13
14Number
15
16    224
17
18Dependencies
19
20    EXT_texture_3D
21    IBM_texture_edge_clamp
22
23Overview
24
25    IBM_texture_mirrored_repeat extends the set of texture wrap modes to
26    include a mode (GL_MIRRORED_REPEAT_IBM) that effectively uses a texture
27    map twice as large at the original image in which the additional half of
28    the new image is a mirror image of the original image.
29
30    This new mode relaxes the need to generate images whose opposite edges
31    match by using the original image to generate a matching "mirror image".
32
33Issues
34
35  * The spec clamps the final (u,v) coordinates to the range [0.5, 2^n-0.5].
36    This will produce the same effect as trapping a sample of the border texel
37    and using the corresponding edge texel.  The choice of technique is purely
38    an implementation detail.
39
40New Procedures and Functions
41
42    None
43
44New Tokens
45
46    Accepted by the <param> parameter of TexParameteri and TexParameterf,
47    and by the <params> parameter of TexParameteriv and TexParameterfv, when
48    their <pname> parameter is TEXTURE_WRAP_S, TEXTURE_WRAP_T, or
49    TEXTURE_WRAP_R_EXT:
50
51      GL_MIRRORED_REPEAT_IBM           0x8370
52
53Additions to Chapter 2 of the GL Specification (OpenGL Operation)
54
55    None.
56
57Additions to Chapter 3 of the GL Specification (Rasterization)
58
59    None
60
61Additions to Chapter 4 of the GL Specification (Per-Fragment Operations
62and the Framebuffer)
63
64  Change to Section 3.8 (Subsection "Texture Wrap Modes")
65
66    If TEXTURE_WRAP_S, TEXTURE_WRAP_T, or TEXTURE_WRAP_R_EXT is set to
67    MIRRORED_REPEAT_IBM, the s (or t or r) coordinate is converted to:
68
69        s - floor(s),           if floor(s) is even, or
70        1 - (s - floor(s)),     if floor(s) is odd.
71
72
73  Change to Section 3.8.1, Texture Minification
74
75    Let:
76        u(x,y) = 2^n * s(x,y),
77        v(x,y) = 2^m * t(x,y), and
78        w(x,y) = 2^l * r(x,y).
79
80    If the TEXTURE_WRAP_S, TEXTURE_WRAP_T, or TEXTURE_WRAP_R_EXT is set to
81    either MIRRORED_REPEAT_IBM or CLAMP_TO_EDGE_IBM, the resulting u, v, or
82    w coordinates (respectively) are clamped to the range [0.5, 2^n-0.5].
83
84Additions to Chapter 5 of the GL Specification (Special Functions)
85
86    None
87
88Additions to Chapter 6 of the GL Specification (State and State Requests)
89
90    None
91
92Additions to the GLX Specification
93
94    None
95
96GLX Protocol
97
98    None.
99
100Errors
101
102    None
103
104Dependencies on EXT_texture3D
105
106    If EXT_texture3D is not implemented, then the references clamping of 3D
107    textures in this file are invalid, and references to TEXTURE_WRAP_R_EXT
108    should be ignored.
109
110Dependencies on IBM_texture_edge_clamp
111
112    If IBM_texture_edge_clamp is not implemented, then the references to
113    CLAMP_TO_EDGE_IBM should be ignored.
114
115New State
116
117    Only the type information changes for these parameters:
118
119    Get Value           Get Command             Type    Initial Value   Attrib
120    ---------           -----------             ----    -------------   ------
121    TEXTURE_WRAP_S      GetTexParameteriv       n x Z5  REPEAT          texture
122    TEXTURE_WRAP_T      GetTexParameteriv       n x Z5  REPEAT          texture
123    TEXTURE_WRAP_R_EXT  GetTexParameteriv       n x Z5  REPEAT          texture
124
125New Implementation Dependent State
126
127    None
128