*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> gluBuild2DMipmaps (3)              
Title
Content
Arch
Section
 

Contents


gluBuild2DMipmaps()                           gluBuild2DMipmaps()


NAME    [Toc]    [Back]

       gluBuild2DMipmaps - builds a 2-D mipmap

SYNOPSIS    [Toc]    [Back]

       GLint gluBuild2DMipmaps(
               GLenum target,
               GLint internalFormat,
               GLsizei width,
               GLsizei height,
               GLenum format,
               GLenum type,
               const void *data );

PARAMETERS    [Toc]    [Back]

       Specifies  the  target  texture.  Must  be  GL_TEXTURE_2D.
       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 or GL_RGBA16.
       Specifies the width and height, respectively, in pixels of
       the  texture  image.   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.  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,  or
       GL_FLOAT.   Specifies  a pointer to the image data in memory.

DESCRIPTION    [Toc]    [Back]

       gluBuild2DMipmaps() builds a  series  of  prefiltered  2-D
       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()).

       Initially, the width and height of data are checked to see
       if  they  are  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 operations
 described below. (If  width  or  height  is  exactly
       between  powers  of  2,  then  the copy of data will scale
       upwards.)  For example, if width is 57 and  height  is  23
       then  a  copy  of data will scale up to 64 and down to 16,
       respectively, before mipmapping takes place.

       Then, proxy textures  (see  glTexImage2D())  are  used  to
       determine if the implementation can fit the requested texture.
 If not, both dimensions are continually halved until
       it  fits.  (If  the OpenGL version is <= 1.0, both maximum
       texture dimensions are clamped to the  value  returned  by
       glGetIntegerv() with the argument GL_MAX_TEXTURE_SIZE.)

       Next,  a  series of mipmap levels is built by decimating a
       copy of data in half along both dimensions until size  1x1
       is  reached.   At  each  level,  each  texel in the halved
       mipmap level is an average of the corresponding four  texels
  in the larger mipmap level. (In the case of rectangular
 images, the decimation will ultimately reach an N x  1
       or  1  x  N  configuration.  Here, two texels are averaged
       instead.)

       glTexImage2D() is called to load each of these mipmap levels.
  Level  0  is  a  copy  of data. The highest level is
       log[2](max(width,height)). For example, if width is 64 and
       height is 16 and the implementation can store a texture of
       this size, the following mipmap levels are  built:  64x16,
       32x8,  16x4,  8x2,  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 format. See the glDrawPixels()
       reference page for a description of the acceptable  values
       for type.

NOTES    [Toc]    [Back]

       Note  that  there is no direct way of querying the maximum
       level. This can be derived indirectly via glGetTexLevelParameter().
   First,  query for the width & height actually
       used at level 0. (The width & height may not be  equal  to
       width  &  height  respectively  since proxy textures might
       have scaled them to fit the implementation.) Then the maximum
    level    can   be   derived   from   the   formula
       log[2](max(width,height)).

ERRORS    [Toc]    [Back]

       GLU_INVALID_VALUE is returned if width or height are <  1.

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

SEE ALSO    [Toc]    [Back]

      
      
       glDrawPixels(3),     glTexImage1D(3),     glTexImage2D(3),
       gluBuild1DMipmaps(3), gluErrorString(3), gluScaleImage(3)



                                              gluBuild2DMipmaps()
[ Back ]
 Similar pages
Name OS Title
gluBuild1DMipmaps Tru64 builds a 1-D mipmap
glubuild3dmipmaps IRIX builds a three-dimensional mipmap
glubuild2dmipmaps IRIX builds a two-dimensional mipmap
glubuild1dmipmaps IRIX builds a one-dimensional mipmap
glubuild3dmipmaplevels IRIX builds a subset of three-dimensional mipmap levels
glubuild2dmipmaplevels IRIX builds a subset of two-dimensional mipmap levels
glubuild1dmipmaplevels IRIX builds a subset of one-dimensional mipmap levels
sams HP-UX Builds DCE message system files
pmerge Tru64 Builds a network bootable kernel.
newaliases Tru64 Builds a new copy of the alias database
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service