B
gluBuild1DMipmaps
Chapter 2
36
gluBuild1DMipmaps
gluBuild1DMipmaps: create 1D mipmaps.
C Specification
GLint gluBuild1DMipmaps(
GLenum target,
GLint component,
GLsizei width,
GLenum format,
GLenum type,
const void *data)
Parameters
target Specifies the target texture. Must be GL_TEXTURE_1D.
component Specifies the number of color components in the texture. Must be 1, 2,
3, or 4.
width Specifies the width of the texture image.
format Specifies the format of the pixel data. Must be one of
GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA,
GL_RGB, GL_RGBA, GL_LUMINANCE, and
GL_LUMINANCE_ALPHA.
type Specifies the data type for data. Must be one of
GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP,
GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT,
GL_INT, or GL_FLOAT.
data Specifies a pointer to the image data in memory.
Description
gluBuild1DMipmaps builds a series of pre-filtered 1D texture maps of decreasing
resolution. Mipmaps can be used so that textures don’t appear aliased.
A return value of 0 indicates success. Otherwise a GLU error code is returned (see
gluErrorString).
gluBuild1DMipmaps first checks whether the width of data is a power of 2. If not, it
scales a copy of data (up or down) to the nearest power of two. This copy is used as the
base for subsequent mipmapping operations. For example, if width is 57, a copy of data
scales up to 64 before mipmapping takes place. (If width is exactly between powers of 2,
the copy of data is scaled upward.)
If the GL version is 1.1 or greater, gluBuild1DMipmaps uses proxy textures (see
glTexImage1D) to determine if the implementation can store the requested texture in
texture memory. If there isn’t enough room, width is halved (and halved again) until it
fits.