123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- '\" e
- '\"! eqn | mmdoc
- '\"macro stdmacro
- .ds Vn Version 1.2
- .ds Dt 6 March 1997
- .ds Re Release 1.2.0
- .ds Dp May 02 11:53
- .ds Dm 37 build3dmi
- .ds Xs 53966 9 build3dmipmaplevels.gl
- .TH GLUBUILD3DMIPMAPLEVELS 3G
- .SH NAME
- .B "gluBuild3DMipmapLevels
- \- builds a subset of three-dimensional mipmap levels
- .SH C SPECIFICATION
- GLint \f3gluBuild3DMipmapLevels\fP(
- GLenum \fItarget\fP,
- .nf
- .ta \w'\f3GLint \fPgluBuild3DMipmapLevels( 'u
- GLint \fIinternalFormat\fP,
- GLsizei \fIwidth\fP,
- GLsizei \fIheight\fP,
- GLsizei \fIdepth\fP,
- GLenum \fIformat\fP,
- GLenum \fItype\fP,
- GLint \fIlevel\fP,
- GLint \fIbase\fP,
- GLint \fImax\fP,
- const void \fI*data\fP )
- .fi
- .EQ
- delim $$
- .EN
- .SH PARAMETERS
- .TP \w'\fIinternalFormat\fP\ \ 'u
- \f2target\fP
- Specifies the target texture. Must be \%\f3GL_TEXTURE_3D\fP.
- .TP
- \f2internalFormat\fP
- Requests the internal storage 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:
- \%\f3GL_ALPHA\fP,
- \%\f3GL_ALPHA4\fP,
- \%\f3GL_ALPHA8\fP,
- \%\f3GL_ALPHA12\fP,
- \%\f3GL_ALPHA16\fP,
- \%\f3GL_LUMINANCE\fP,
- \%\f3GL_LUMINANCE4\fP,
- \%\f3GL_LUMINANCE8\fP,
- \%\f3GL_LUMINANCE12\fP,
- \%\f3GL_LUMINANCE16\fP,
- \%\f3GL_LUMINANCE_ALPHA\fP,
- \%\f3GL_LUMINANCE4_ALPHA4\fP,
- \%\f3GL_LUMINANCE6_ALPHA2\fP,
- \%\f3GL_LUMINANCE8_ALPHA8\fP,
- \%\f3GL_LUMINANCE12_ALPHA4\fP,
- \%\f3GL_LUMINANCE12_ALPHA12\fP,
- \%\f3GL_LUMINANCE16_ALPHA16\fP,
- \%\f3GL_INTENSITY\fP,
- \%\f3GL_INTENSITY4\fP,
- \%\f3GL_INTENSITY8\fP,
- \%\f3GL_INTENSITY12\fP,
- \%\f3GL_INTENSITY16\fP,
- \%\f3GL_RGB\fP,
- \%\f3GL_R3_G3_B2\fP,
- \%\f3GL_RGB4\fP,
- \%\f3GL_RGB5\fP,
- \%\f3GL_RGB8\fP,
- \%\f3GL_RGB10\fP,
- \%\f3GL_RGB12\fP,
- \%\f3GL_RGB16\fP,
- \%\f3GL_RGBA\fP,
- \%\f3GL_RGBA2\fP,
- \%\f3GL_RGBA4\fP,
- \%\f3GL_RGB5_A1\fP,
- \%\f3GL_RGBA8\fP,
- \%\f3GL_RGB10_A2\fP,
- \%\f3GL_RGBA12\fP, or
- \%\f3GL_RGBA16\fP.
- .TP
- \f2width\fP, \f2height\fP, \f2depth\fP
- Specifies in pixels the width, height and depth respectively, of the texture
- image. These should be a power of 2.
- .TP
- \f2format\fP
- Specifies the of the pixel data.
- Must be one of
- \%\f3GL_COLOR_INDEX\fP,
- \%\f3GL_DEPTH_COMPONENT\fP,
- \%\f3GL_RED\fP,
- \%\f3GL_GREEN\fP,
- \%\f3GL_BLUE\fP,
- \%\f3GL_ALPHA\fP,
- \%\f3GL_RGB\fP,
- \%\f3GL_RGBA\fP,
- \%\f3GL_BGR\fP,
- \%\f3GL_BGRA\fP,
- \%\f3GL_LUMINANCE\fP, or
- \%\f3GL_LUMINANCE_ALPHA\fP.
- .TP
- \f2type\fP
- Specifies the data type for \f2data\fP.
- Must be one of
- \%\f3GL_UNSIGNED_BYTE\fP,
- \%\f3GL_BYTE\fP,
- \%\f3GL_BITMAP\fP,
- \%\f3GL_UNSIGNED_SHORT\fP,
- \%\f3GL_SHORT\fP,
- \%\f3GL_UNSIGNED_INT\fP,
- \%\f3GL_INT\fP,
- \%\f3GL_FLOAT\fP,
- \%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
- \%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
- \%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
- \%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
- \%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
- \%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
- \%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
- \%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
- \%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
- \%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
- \%\f3GL_UNSIGNED_INT_10_10_10_2\fP, or
- \%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP.
- .TP
- \f2level\fP
- Specifies the mipmap level of the image data.
- .TP
- \f2base\fP
- Specifies the minimum mipmap level to pass to \f3glTexImage3D\fP.
- .TP
- \f2max\fP
- Specifies the maximum mipmap level to pass to \f3glTexImage3D\fP.
- .TP
- \f2data\fP
- Specifies a pointer to the image data in memory.
- .SH DESCRIPTION
- \%\f3gluBuild3DMipmapLevels\fP 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.
- .P
- A return value of zero indicates success, otherwise a GLU error code is
- returned (see \%\f3gluErrorString\fP).
- .P
- A series of mipmap levels from \f2base\fP to \f2max\fP is built by
- decimating \f2data\fP in half along both dimensions until size $1 ~times~ 1
- ~times~ 1$ 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.) \f3glTexImage3D\fP is called to load these mipmap levels
- from \f2base\fP to \f2max\fP. If \f2max\fP is larger than the highest mipmap
- level for the texture of the specified size, then a GLU error code is
- returned (see \%\f3gluErrorString\fP) and nothing is loaded.
- .P
- For example, if \f2level\fP is 2 and \f2width\fP is 16, \f2height\fP is 8 and \f2depth\fP
- is 4, the following levels are possible: $16 ~times~ 8 ~times~ 4$, $8 ~times~
- 4 ~times~ 2$, $4 ~times~ 2 ~times~ 1$, $2 ~times~ 1 ~times~ 1$,
- $1 ~times~ 1 ~times~ 1$.
- These correspond to levels 2 through 6 respectively. If \f2base\fP is
- 3 and \f2max\fP is 5, then only mipmap levels $8 ~times~ 4 ~times~ 2$, $4
- ~times~ 2 ~times~ 1$ and $2 ~times~ 1 ~times~ 1$ are loaded. However, if
- \f2max\fP is 7 then an error is returned and nothing is loaded, since
- \f2max\fP is larger than the highest mipmap level which is, in this case,
- 6.
- .P
- The highest mipmap level can be derived from the formula
- ${log sub 2} ( max ("width","height","depth")^{2 sup "level"})$.
- .P
- See the \f3glTexImage1D\fP reference page for a description of the
- acceptable values for \f2format\fP parameter. See the \f3glDrawPixels\fP
- reference page for a description of the acceptable values
- for \f2type\fP parameter.
- .SH NOTES
- \%\f3gluBuild3DMipmapLevels\fP is only available if the GLU version is 1.3 or greater.
- .P
- Formats \%\f3GL_BGR\fP, and \%\f3GL_BGRA\fP, and types
- \%\f3GL_UNSIGNED_BYTE_3_3_2\fP,
- \%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP,
- \%\f3GL_UNSIGNED_SHORT_5_6_5\fP,
- \%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP,
- \%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP,
- \%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP,
- \%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP,
- \%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP,
- \%\f3GL_UNSIGNED_INT_8_8_8_8\fP,
- \%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP,
- \%\f3GL_UNSIGNED_INT_10_10_10_2\fP, and
- \%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP are only available if the GL version
- is 1.2 or greater.
- .SH ERRORS
- \%\f3GLU_INVALID_VALUE\fP is returned if \f2level\fP > \f2base\fP, \f2base\fP < 0,
- \f2max\fP < \f2base\fP or \f2max\fP is > the highest mipmap level for \f2data\fP.
- .P
- \%\f3GLU_INVALID_VALUE\fP is returned if \f2width\fP, \f2height\fP, or \f2depth\fP is < 1.
- .P
- \%\f3GLU_INVALID_ENUM\fP is returned if \f2internalFormat\fP, \f2format\fP, or \f2type\fP is not
- legal.
- .P
- \%\f3GLU_INVALID_OPERATION\fP is returned if \f2type\fP is \%\f3GL_UNSIGNED_BYTE_3_3_2\fP or \%\f3GL_UNSIGNED_BYTE_2_3_3_REV\fP
- and \f2format\fP is not \%\f3GL_RGB\fP.
- .P
- \%\f3GLU_INVALID_OPERATION\fP is returned if \f2type\fP is \%\f3GL_UNSIGNED_SHORT_5_6_5\fP or \%\f3GL_UNSIGNED_SHORT_5_6_5_REV\fP
- and \f2format\fP is not \%\f3GL_RGB\fP.
- .P
- \%\f3GLU_INVALID_OPERATION\fP is returned if \f2type\fP is \%\f3GL_UNSIGNED_SHORT_4_4_4_4\fP or \%\f3GL_UNSIGNED_SHORT_4_4_4_4_REV\fP
- and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
- .P
- \%\f3GLU_INVALID_OPERATION\fP is returned if \f2type\fP is \%\f3GL_UNSIGNED_SHORT_5_5_5_1\fP or \%\f3GL_UNSIGNED_SHORT_1_5_5_5_REV\fP
- and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
- .P
- \%\f3GLU_INVALID_OPERATION\fP is returned if \f2type\fP is \%\f3GL_UNSIGNED_INT_8_8_8_8\fP or \%\f3GL_UNSIGNED_INT_8_8_8_8_REV\fP
- and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
- .P
- \%\f3GLU_INVALID_OPERATION\fP is returned if \f2type\fP is \%\f3GL_UNSIGNED_INT_10_10_10_2\fP or \%\f3GL_UNSIGNED_INT_2_10_10_10_REV\fP
- and \f2format\fP is neither \%\f3GL_RGBA\fP nor \%\f3GL_BGRA\fP.
- .SH SEE ALSO
- \f3glDrawPixels(3G)\fP,
- \f3glTexImage1D(3G)\fP,
- \f3glTexImage2D(3G)\fP,
- \f3glTexImage3D(3G)\fP,
- \%\f3gluBuild1DMipmaps(3G)\fP,
- \%\f3gluBuild2DMipmaps(3G)\fP,
- \%\f3gluBuild3DMipmaps(3G)\fP,
- \%\f3gluErrorString(3G)\fP,
- \f3glGetTexImage(3G)\fP,
- \f3glGetTexLevelParameter(3G)\fP,
- \%\f3gluBuild1DMipmapLevels(3G)\fP,
- \%\f3gluBuild2DMipmapLevels(3G)\fP
|