blob: c40acb9bfa76f6744d5b526b98fb2dc56001eab2 [file] [log] [blame]
Name
ATI_texture_mirror_once
Name Strings
GL_ATI_texture_mirror_once
Contact
Dan Ginsburg, AMD (dan.ginsburg 'at' amd.com)
Version
Last Modified Date: 11/4/2006 Revision: 0.31
Number
221
Dependencies
EXT_texture3D
Overview
ATI_texture_mirror_once extends the set of texture wrap modes to
include two modes (GL_MIRROR_CLAMP_ATI, GL_MIRROR_CLAMP_TO_EDGE_ATI)
that effectively use a texture map twice as large as 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".
This mode allows the texture to be mirrored only once in the negative
s, t, and r directions.
Issues
None known
New Procedure 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:
MIRROR_CLAMP_ATI 0x8742
MIRROR_CLAMP_TO_EDGE_ATI 0x8743
Additions to Chapter 2 of the OpenGL 1.2.1 Specification (Operation)
None
Additions to Chapter 3 if the OpenGL 1.2.1 Specification (Rasterization):
- (3.8.3, p. 124) Change first three entries in table:
"TEXTURE_WRAP_S integer CLAMP, CLAMP_TO_EDGE, REPEAT,
MIRROR_CLAMP_ATI, MIRROR_CLAMP_TO_EDGE_ATI
TEXTURE_WRAP_T integer CLAMP, CLAMP_TO_EDGE, REPEAT,
MIRROR_CLAMP_ATI, MIRROR_CLAMP_TO_EDGE_ATI
TEXTURE_WRAP_R integer CLAMP, CLAMP_TO_EDGE, REPEAT,
MIRROR_CLAMP_ATI, MIRROR_CLAMP_TO_EDGE_ATI"
- (3.8.4, p. 125) Added after second paragraph:
"If TEXTURE_WRAP_S, TEXTURE_WRAP_T, or TEXTURE_WRAP_R_EXT is set to
MIRROR_CLAMP_ATI or MIRROR_CLAMP_TO_EDGE_ATI, the s (or t or r)
coordinate is clamped to [-1, 1] and then converted to:
s 0 <= s <= 1
-s -1 <= s < 0
Like the CLAMP wrap mode, with MIRROR_CLAMP_ATI the texels from
the border can be used by the texture filter. MIRROR_CLAMP_TO_EDGE_ATI
clamps texture coordinates at all mipmap levels such that the texture
filter never samples a border texel."
- (3.8.5, p.127) Change last paragraph to:
"When TEXTURE_MIN_FILTER is LINEAR, a 2 x 2 x 2 cube of texels in the
image array of level TEXTURE_BASE_LEVEL is selected. This cube is
obtained by first clamping texture coordinates as described above
under Texture Wrap Modes (if the wrap mode for a coordinate is CLAMP,
CLAMP_TO_EDGE, MIRROR_CLAMP_ATI, or MIRROR_CLAMP_TO_EDGE_ATI) and
computing..."
Additions to Chapter 4:
None
Additions to Chapter 5:
None
Additions to Chapter 6:
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 to clamping of 3D
textures in this file are invalid, and references to TEXTURE_WRAP_R_EXT
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