Signature
gluBuild3DMipmapLevels(
GLenum (
target
)
,
GLint (
internalFormat
)
,
GLsizei (
width
)
,
GLsizei (
height
)
,
GLsizei (
depth
)
,
GLenum (
format
)
,
GLenum (
type
)
,
GLint (
level
)
,
GLint (
base
)
,
GLint (
max
)
,
const void * (
data
)
)-> GLint
gluBuild3DMipmapLevels(
target
,
internalFormat
,
width
,
height
,
depth
,
format
,
type
,
level
,
base
,
max
,
data
)
-> <class 'ctypes.c_int'>
gluBuild3DMipmapLevels( GLenum(target), GLint(internalFormat), GLsizei(width), GLsizei(height), GLsizei(depth), GLenum(format), GLenum(type), GLint(level), GLint(base), GLint(max), c_void_p(data) ) -> GLint
Parameters
Variables | Description |
---|---|
target |
Specifies the target texture. Must be
GLU_TEXTURE_3D
.
|
internalFormat |
Requests the internal storage format of the texture image. The most
current version of the SGI implementation of GLU does not check this
value for validity before passing it on to the underlying OpenGL
implementation. A value that is not accepted by the OpenGL
implementation will lead to an OpenGL error. The benefit 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:
GLU_ALPHA
,
GLU_ALPHA4
,
GLU_ALPHA8
,
GLU_ALPHA12
,
GLU_ALPHA16
,
GLU_LUMINANCE
,
GLU_LUMINANCE4
,
GLU_LUMINANCE8
,
GLU_LUMINANCE12
,
GLU_LUMINANCE16
,
GLU_LUMINANCE_ALPHA
,
GLU_LUMINANCE4_ALPHA4
,
GLU_LUMINANCE6_ALPHA2
,
GLU_LUMINANCE8_ALPHA8
,
GLU_LUMINANCE12_ALPHA4
,
GLU_LUMINANCE12_ALPHA12
,
GLU_LUMINANCE16_ALPHA16
,
GLU_INTENSITY
,
GLU_INTENSITY4
,
GLU_INTENSITY8
,
GLU_INTENSITY12
,
GLU_INTENSITY16
,
GLU_RGB
,
GLU_R3_G3_B2
,
GLU_RGB4
,
GLU_RGB5
,
GLU_RGB8
,
GLU_RGB10
,
GLU_RGB12
,
GLU_RGB16
,
GLU_RGBA
,
GLU_RGBA2
,
GLU_RGBA4
,
GLU_RGB5_A1
,
GLU_RGBA8
,
GLU_RGB10_A2
,
GLU_RGBA12
, or
GLU_RGBA16
.
|
width, height, depth |
Specifies in pixels the width, height and depth respectively, of the texture
image. These should be a power of 2.
|
format |
Specifies the format of the pixel data.
Must be one of
GLU_COLOR_INDEX
,
GLU_DEPTH_COMPONENT
,
GLU_RED
,
GLU_GREEN
,
GLU_BLUE
,
GLU_ALPHA
,
GLU_RGB
,
GLU_RGBA
,
GLU_BGR
,
GLU_BGRA
,
GLU_LUMINANCE
, or
GLU_LUMINANCE_ALPHA
.
|
type |
Specifies the data type for
data
.
Must be one of
GLU_UNSIGNED_BYTE
,
GLU_BYTE
,
GLU_BITMAP
,
GLU_UNSIGNED_SHORT
,
GLU_SHORT
,
GLU_UNSIGNED_INT
,
GLU_INT
,
GLU_FLOAT
,
GLU_UNSIGNED_BYTE_3_3_2
,
GLU_UNSIGNED_BYTE_2_3_3_REV
,
GLU_UNSIGNED_SHORT_5_6_5
,
GLU_UNSIGNED_SHORT_5_6_5_REV
,
GLU_UNSIGNED_SHORT_4_4_4_4
,
GLU_UNSIGNED_SHORT_4_4_4_4_REV
,
GLU_UNSIGNED_SHORT_5_5_5_1
,
GLU_UNSIGNED_SHORT_1_5_5_5_REV
,
GLU_UNSIGNED_INT_8_8_8_8
,
GLU_UNSIGNED_INT_8_8_8_8_REV
,
GLU_UNSIGNED_INT_10_10_10_2
, or
GLU_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
glTexImage3D
.
|
max |
Specifies the maximum mipmap level to pass to
glTexImage3D
.
|
data |
Specifies a pointer to the image data in memory.
|
Description
gluBuild3DMipmapLevels
builds a subset of prefiltered three-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 along both dimensions until size
is reached. At each level, each texel in the halved mipmap
level is an average of the corresponding eight texels in the larger
mipmap level. (If exactly one of the dimensions is 1, four texels are
averaged. If exactly two of the dimensions are 1, two texels are
averaged.)
glTexImage3D
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,
height
is 8 and
depth
is 4, the following levels are possible:
,
,
,
,
.
These correspond to levels 2 through 6 respectively. If
base
is
3 and
max
is 5, then only mipmap levels
,
,
and
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
.
See the
glTexImage1D
reference page for a description of the
acceptable values for
format
parameter. See the
glDrawPixels
reference page for a description of the acceptable values
for
type
parameter.
Notes
gluBuild3DMipmapLevels
is only available if the GLU version is 1.3 or greater.
Formats
GLU_BGR
, and
GLU_BGRA
, and types
GLU_UNSIGNED_BYTE_3_3_2
,
GLU_UNSIGNED_BYTE_2_3_3_REV
,
GLU_UNSIGNED_SHORT_5_6_5
,
GLU_UNSIGNED_SHORT_5_6_5_REV
,
GLU_UNSIGNED_SHORT_4_4_4_4
,
GLU_UNSIGNED_SHORT_4_4_4_4_REV
,
GLU_UNSIGNED_SHORT_5_5_5_1
,
GLU_UNSIGNED_SHORT_1_5_5_5_REV
,
GLU_UNSIGNED_INT_8_8_8_8
,
GLU_UNSIGNED_INT_8_8_8_8_REV
,
GLU_UNSIGNED_INT_10_10_10_2
, and
GLU_UNSIGNED_INT_2_10_10_10_REV
are only available if the GL version
is 1.2 or greater.
Errors
GLU_INVALID_VALUE
is returned if
level
>
base
,
base
< 0,
max
<
base
, or
max
is > the highest mipmap level for
data
.
GLU_INVALID_OPERATION
is returned if
type
is
GLU_UNSIGNED_BYTE_3_3_2
or
GLU_UNSIGNED_BYTE_2_3_3_REV
and
format
is not
GLU_RGB
.
GLU_INVALID_OPERATION
is returned if
type
is
GLU_UNSIGNED_SHORT_5_6_5
or
GLU_UNSIGNED_SHORT_5_6_5_REV
and
format
is not
GLU_RGB
.
GLU_INVALID_OPERATION
is returned if
type
is
GLU_UNSIGNED_SHORT_4_4_4_4
or
GLU_UNSIGNED_SHORT_4_4_4_4_REV
and
format
is neither
GLU_RGBA
nor
GLU_BGRA
.
GLU_INVALID_OPERATION
is returned if
type
is
GLU_UNSIGNED_SHORT_5_5_5_1
or
GLU_UNSIGNED_SHORT_1_5_5_5_REV
and
format
is neither
GLU_RGBA
nor
GLU_BGRA
.
See Also
Copyright
Copyright
1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/
.