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()

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

home | help