[ Next Article |
Previous Article |
Book Contents |
Library Home |
Legal |
Search ]
OpenGL 1.2 for AIX: Reference Manual
gluBuild1DMipmapLevels Subroutine
Purpose
Builds a subset of 1D mipmap levels.
Library
OpenGL C bindings library: libGL.a
C Syntax
GLint gluBuild1DMipmapLevels( GLenum target,
GLint internalFormat,
GLsizei width,
GLenum format,
GLenum type,
GLint level,
GLint base,
GLint max,
const void *data )
Description
gluBuild1DMipmapLevels builds a subset of prefiltered 1D
texture maps of decreasing resolutions called a mipmap. This
is used for the antialiasing of texture mapped primitives.
A return value of 0 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.
Parameters
target |
Specifies the target texture. Must be GL_TEXTURE_1D. |
internalFormat |
Requests the internal storage format of the texture image. Must be 1, 2, 3, or 4 or one of the following symbolic constants:
- GL_ALPHA
- GL_ALPHA4
- GL_ALPHA8
- GL_ALPHA12
- GL_ALPHA16
- GL_LUMINANCE
- GL_LUMINANCE4
- GL_LUMINANCE8
- GL_LUMINANCE12
- GL_LUMINANCE16
- GL_LUMINANCE_ALPHA
- GL_LUMINANCE4_ALPHA4
- GL_LUMINANCE6_ALPHA2
- GL_LUMINANCE8_ALPHA8
- GL_LUMINANCE12_ALPHA4
- GL_LUMINANCE12_ALPHA12
- GL_LUMINANCE16_ALPHA16
- GL_INTENSITY
- GL_INTENSITY4
- GL_INTENSITY8
- GL_INTENSITY12
- GL_INTENSITY16
- GL_RGB
- GL_R3_G3_B2
- GL_RGB4
- GL_RGB5
- GL_RGB8
- GL_RGB10
- GL_RGB12
- GL_RGB16
- GL_RGBA
- GL_RGBA2
- GL_RGBA4
- GL_RGB5_A1
- GL_RGBA8
- GL_RGB10_A2
- GL_RGBA12
- GL_RGBA16
|
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:
- GL_COLOR_INDEX
- GL_DEPTH_COMPONENT
- GL_RED
- GL_GREEN
- GL_BLUE
- GL_ALPHA
- GL_RGB
- GL_RGBA
- GL_BGRA
- GL_LUMINANCE
- 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
- GL_FLOAT
- GL_UNSIGNED_BYTE_3_3_2
- GL_UNSIGNED_BYTE_2_3_3_REV
- GL_UNSIGNED_SHORT_5_6_5
- GL_UNSIGNED_SHORT_5_6_5_REV
- GL_UNSIGNED_SHORT_4_4_4_4
- GL_UNSIGNED_SHORT_4_4_4_4_REV
- GL_UNSIGNED_SHORT_5_5_5_1
- GL_UNSIGNED_SHORT_1_5_5_5_REV
- GL_UNSIGNED_INT_8_8_8_8
- GL_UNSIGNED_INT_8_8_8_8_REV
- GL_UNSIGNED_INT_10_10_10_2
- GL_UNSIGNED_INT_2_10_10_10_REV
|
level |
Specifies the mipmap level of the image data. |
base |
Specifies the minimum mipmap level to pass to glTexImage1D. |
max |
Specifies the maximum mipmap level to pass to glTexImage1D. |
data |
Specifies a pointer to the image data in memory. |
Error Codes
- GLU_INVALID_VALUE is returned if level > base, base < 0, max< base or max is > the highest mipmap level for data.
- GLU_INVALID_VALUE is returned if width is < 1.
- GLU_INVALID_ENUM is returned if internalFormat, format or
type are not legal.
- GLU_INVALID_OPERATION is returned if level is
GL_UNSIGNED_BYTE_3_3_2 or GL_UNSIGNED_BYTE_2_3_3_REV and
type is not GL_RGB.
- GLU_INVALID_OPERATION is returned if level is
GL_UNSIGNED_SHORT_5_6_5 or GL_UNSIGNED_SHORT_5_6_5_REV and
type is not GL_RGB.
- GLU_INVALID_OPERATION is returned if level is
GL_UNSIGNED_SHORT_4_4_4_4 or GL_UNSIGNED_SHORT_4_4_4_4_REV
and type is neither GL_RGBA nor GL_BGRA.
- GLU_INVALID_OPERATION is returned if level is
GL_UNSIGNED_SHORT_5_5_5_1 or GL_UNSIGNED_SHORT_1_5_5_5_REV
and type is neither GL_RGBA nor GL_BGRA.
- GLU_INVALID_OPERATION is returned if level is
GL_UNSIGNED_INT_8_8_8_8 or GL_UNSIGNED_INT_8_8_8_8_REV and
type is neither GL_RGBA nor GL_BGRA.
- GLU_INVALID_OPERATION is returned if level is
GL_UNSIGNED_INT_10_10_10_2 or GL_UNSIGNED_INT_2_10_10_10_REV
and type is neither GL_RGBA nor GL_BGRA.
Files
/usr/include/GL/gl.h |
Contains C language constraints, variable type definitions, and ANSI function prototypes for OpenGL. |
Related Information
The
glDrawPixels subroutine,
glTexImage1D subroutine,
glTexImage2D subroutine,
glTexImage3D subroutine,
gluBuild1DMipmaps subroutine,
gluBuild2DMipmaps subroutine,
gluBuild3DMipmaps subroutine,
gluErrorString subroutine,
glGetTexImage subroutine,
glGetTexLevelParameter subroutine,
gluBuild2DMipmapLevels subroutine and
gluBuild3DMipmapLevels subroutine.
[ Next Article |
Previous Article |
Book Contents |
Library Home |
Legal |
Search ]