GLUBUILD1DMIPMAPLEVELS(3G) GLUBUILD1DMIPMAPLEVELS(3G)
NAME
gluBuild1DipmapLevels - builds a subset of one-dimensional mipmap lev-
els
C SPECIFICATION
GLint gluBuild1DipmapLevels( GLenum target,
GLint internalFormat,
GLsizei width,
GLenum format,
GLenum type,
GLint level,
GLint base,
GLint max,
const void *data )
PARAMETERS
target Specifies the target texture. Must be GLTEXTURE1D.
internalFormat Requests the internal storage format of the texture
image. The most current version of the SGI implementa-
tion of GLU does not check this value for validity
before passing it on to the underlying OpenGL implemen-
tation. A value that is not accepted by the OpenGL
implementation will lead to an OpenGL error. The bene-
fit of not checking this value at the GLU level is that
OpenGL extensions can add new internal texture formats
without requiring a revision of the GLU implementation.
Older implementations of GLU check this value and raise
a GLU error if it is not 1, 2, 3, or 4 or one of the
following symbolic constants: GLALPHA, GLALPHA4,
GLALPHA8, GLALPHA12, GLALPHA16, GLUMINANCE,
GLUMINANCE4, GLUMINANCE8, GLUMINANCE12,
GLUMINANCE16, GLUMINANCEALPHA,
GLUMINANCE4ALPHA4, GLUMINANCE6ALPHA2,
GLUMINANCE8ALPHA8, GLUMINANCE12ALPHA4,
GLUMINANCE12ALPHA12, GLUMINANCE16ALPHA16,
GLINTENSITY, GLINTENSITY4, GLINTENSITY8,
GLINTENSITY12, GLINTENSITY16, GLRGB, GLR3G3B2,
GLRGB4, GLRGB5, GLRGB8, GLRGB100, GLRGB12,
GLRGB16, GLRGBA, GLRGBA2, GLRGBA4, GLRGB5A1,
GLRGBA8, GLRGB100A2, GLRGBA12 or GLRGBA16.
width Specifies the width in pixels of the texture image.
This should be a power of 2.
format Specifies the format of the pixel data. Must be one
of: GLCOLORINDEX, GLDEPTHCOMPONENT, GLRED,
GLGREN, GLBLUE, GLALPHA, GLRGB, GLRGBA, GLBGR,
GLBGRA, GLUMINANCE, or GLUMINANCEALPHA.
type Specifies the data type for data. Must be one of:
GLUNSIGNEDBYTE, GLBYTE, GLBITMAP,
GLUNSIGNEDSHORT, GLSHORT, GLUNSIGNEDINT, GLINT,
GLFLOAT, GLUNSIGNEDBYTE332,
GLUNSIGNEDBYTE233REV, GLUNSIGNEDSHORT565,
GLUNSIGNEDSHORT565REV, GLUNSIGNEDSHORT4444,
GLUNSIGNEDSHORT4444REV,
GLUNSIGNEDSHORT5551,
GLUNSIGNEDSHORT1555REV, GLUNSIGNEDINT8888,
GLUNSIGNEDINT8888REV,
GLUNSIGNEDINT1001001002, or
GLUNSIGNEDINT2100100100REV.
level Specifies the mipmap level of the image data.
base Specifies the minimum mipmap level to pass to glTexIm-
age1D.
max Specifies the maximum mipmap level to pass to glTexIm-
age1D.
data Specifies a pointer to the image data in memory.
DESCRIPTION
gluBuild1DipmapLevels builds a subset of prefiltered one-dimensional
texture maps of decreasing resolutions called a mipmap. This is used
for the antialiasing of texture mapped primitives.
A return value of zero indicates success, otherwise a GLU error code is
returned (see gluErrorString).
A series of mipmap levels from base to max is built by decimating data
in half until size 1x1 is reached. At each level, each texel in the
halved mipmap level is an average of the corresponding two texels in
the larger mipmap level. glTexImage1D is called to load these mipmap
levels from base to max. If max is larger than the highest mipmap level
for the texture of the specified size, then a GLU error code is
returned (see gluErrorString) and nothing is loaded.
For example, if level is 2 and width is 16, the following levels are
possible: 16x1, 8x1, 4x1, 2x1, 1x1. These correspond to levels 2
through 6 respectively. If base is 3 and max is 5, then only mipmap
levels 8x1, 4x1 and 2x1 are loaded. However, if max is 7 then an error
is returned and nothing is loaded since max is larger than the highest
mipmap level which is, in this case, 6.
The highest mipmap level can be derived from the formula log2 (width
2^level}).
See the glTexImage1D reference page for a description of the acceptable
values for type parameter. See the glDrawPixels reference page for a
description of the acceptable values for level parameter.
NOTES
gluBuild1DipmapLevels is only available if the GLU version is 1.3 or
greater.
Formats GLBGR, and GLBGRA, and types GLUNSIGNEDBYTE332,
GLUNSIGNEDBYTE233REV, GLUNSIGNEDSHORT565,
GLUNSIGNEDSHORT565REV, GLUNSIGNEDSHORT4444,
GLUNSIGNEDSHORT4444REV, GLUNSIGNEDSHORT5551,
GLUNSIGNEDSHORT1555REV, GLUNSIGNEDINT8888,
GLUNSIGNEDINT8888REV, GLUNSIGNEDINT1001001002, and
GLUNSIGNEDINT2100100100REV are only available if the GL version is
1.2 or greater.
ERORS
GLUINVALIDVALUE is returned if level > base, base < 0, max < base or
max is > the highest mipmap level for data.
GLUINVALIDVALUE is returned if width is < 1.
GLUINVALIDENUM is returned if internalFormat, format, or type are not
legal.
GLUINVALIDOPERATION is returned if type is GLUNSIGNEDBYTE332 or
GLUNSIGNEDBYTE233REV and format is not GLRGB.
GLUINVALIDOPERATION is returned if type is GLUNSIGNEDSHORT565 or
GLUNSIGNEDSHORT565REV and format is not GLRGB.
GLUINVALIDOPERATION is returned if type is GLUNSIGNEDSHORT4444
or GLUNSIGNEDSHORT4444REV and format is neither GLRGBA nor
GLBGRA.
GLUINVALIDOPERATION is returned if type is GLUNSIGNEDSHORT5551
or GLUNSIGNEDSHORT1555REV and format is neither GLRGBA nor
GLBGRA.
GLUINVALIDOPERATION is returned if type is GLUNSIGNEDINT8888 or
GLUNSIGNEDINT8888REV and format is neither GLRGBA nor GLBGRA.
GLUINVALIDOPERATION is returned if type is GLUNSIGNEDINT1001001002
or GLUNSIGNEDINT2100100100REV and format is neither GLRGBA nor
GLBGRA.
SEE ALSO
glDrawPixels, glTexImage1D, glTexImage2D, glTexImage3D,
gluBuild1Dipmaps, gluBuild2Dipmaps, gluBuild3Dipmaps,
gluErrorString, glGetTexImage, glGetTexLevelParameter,
gluBuild2DipmapLevels, gluBuild3DipmapLevels
GLUBUILD1DMIPMAPLEVELS(3G)
|