Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GLUBUILD1DMIPMAPS()					   GLUBUILD1DMIPMAPS()

NAME
       gluBuild1DMipmaps - builds a 1-D	mipmap

C SPECIFICATION
       GLint gluBuild1DMipmaps(	GLenum target,
				GLint internalFormat,
				GLsizei	width,
				GLenum format,
				GLenum type,
				const void *data )

       delim $$

PARAMETERS
       target	       Specifies the target texture. Must be GL_TEXTURE_1D.

       internalFormat  Requests	the internal storage format of the texture im-
		       age.  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_LUMI-
		       NANCE_ALPHA,  GL_LUMINANCE4_ALPHA4,   GL_LUMINANCE6_AL-
		       PHA2,	GL_LUMINANCE8_ALPHA8,	GL_LUMINANCE12_ALPHA4,
		       GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16,	GL_IN-
		       TENSITY,	 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 or GL_RGBA16.

       width	       Specifies the width, in pixels, 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_UN-
		       SIGNED_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 prefiltered	1-D  texture  maps  of
       decreasing resolutions called a mipmap. This is used for	the antialias-
       ing of texture mapped primitives.

       A return	value of 0 indicates success, otherwise	a GLU  error  code  is
       returned	(see gluErrorString).

       Initially, the width of data is checked to see if it is a power of two.
       If not, a copy of data (not data) is scaled up or down to  the  nearest
       power  of  two. This copy will be used for subsequent mipmapping	opera-
       tions described below. (If width	is exactly between powers of  2,  then
       the copy	of data	will scale upwards.)  For example, if width is 57 then
       a copy of data will scale up to 64 before mipmapping takes place.

       Then, proxy textures (see glTexImage1D) are used	to  determine  if  the
       implementation can fit the requested texture. If	not, width is continu-
       ally halved until it fits.

       Next, a series of mipmap	levels is built	by decimating a	copy  of  data
       in  half	 until	size  1	 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 each of these mipmap levels.  Level 0 is
       a copy of data.	The highest level is  log2(width).   For  example,  if
       width  is  64  and the implementation can store a texture of this size,
       the following mipmap levels are built: 64x1, 32x1, 16x1,	8x1, 4x1,  2x1
       and 1x1.	These correspond to levels 0 through 6,	respectively.

       See the glTexImage1D reference page for a description of	the acceptable
       values for type.	See the	glDrawPixels reference page for	a  description
       of the acceptable values	for data.

NOTES
       Note  that  there  is no	direct way of querying the maximum level. This
       can be derived indirectly via glGetTexLevelParameter. First, query  for
       the  width  actually  used  at level 0.	(The width may not be equal to
       width since proxy textures might	have scaled it to fit the  implementa-
       tion.)	Then  the  maximum  level  can	be  derived  from  the formula
       log2(width).

ERRORS
       GLU_INVALID_VALUE is returned if	width is < 1.

       GLU_INVALID_ENUM	is returned if internalFormat, format or type are  not
       legal.

SEE ALSO
       glDrawPixels, glTexImage1D, glTexImage2D, gluBuild2DMipmaps,
       gluErrorString, gluScaleImage

							   GLUBUILD1DMIPMAPS()

NAME | C SPECIFICATION | PARAMETERS | DESCRIPTION | NOTES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=gluBuild1DMipmaps&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help