ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



GLTEXPARAMETER(3G)                                                                        GLTEXPARAMETER(3G)



NAME
       glTexParameterf, glTexParameteri, glTexParameterfv, glTexParameteriv - set texture parameters


C SPECIFICATION
       void glTexParameterf( GLenum target,
                             GLenum pname,
                             GLfloat param )
       void glTexParameteri( GLenum target,
                             GLenum pname,
                             GLint param )


PARAMETERS
       target  Specifies  the  target  texture,  which  must  be  either  GL_TEXTURE_1D,  GL_TEXTURE_2D,  or
               GL_TEXTURE_3D.

       pname   Specifies the symbolic name of a single-valued texture parameter.  pname can be  one  of  the
               following:       GL_TEXTURE_MIN_FILTER,       GL_TEXTURE_MAG_FILTER,      GL_TEXTURE_MIN_LOD,
               GL_TEXTURE_MAX_LOD,    GL_TEXTURE_BASE_LEVEL,    GL_TEXTURE_MAX_LEVEL,     GL_TEXTURE_WRAP_S,
               GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, or GL_TEXTURE_PRIORITY.

       param   Specifies the value of pname.

C SPECIFICATION
       void glTexParameterfv( GLenum target,
                              GLenum pname,
                              const GLfloat *params )
       void glTexParameteriv( GLenum target,
                              GLenum pname,
                              const GLint *params )


PARAMETERS
       target Specifies   the   target  texture,  which  must  be  either  GL_TEXTURE_1D,  GL_TEXTURE_2D  or
              GL_TEXTURE_3D.

       pname  Specifies the symbolic name of a texture parameter.   pname  can  be  one  of  the  following:
              GL_TEXTURE_MIN_FILTER,    GL_TEXTURE_MAG_FILTER,    GL_TEXTURE_MIN_LOD,    GL_TEXTURE_MAX_LOD,
              GL_TEXTURE_BASE_LEVEL,     GL_TEXTURE_MAX_LEVEL,     GL_TEXTURE_WRAP_S,     GL_TEXTURE_WRAP_T,
              GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, or GL_TEXTURE_PRIORITY.

       params Specifies a pointer to an array where the value or values of pname are stored.

DESCRIPTION
       Texture  mapping is a technique that applies an image onto an object's surface as if the image were a
       decal or cellophane shrink-wrap.  The image is created in texture space, with an  (s,  t)  coordinate
       system.  A texture is a one- or two-dimensional image and a set of parameters that determine how sam-ples samples
       ples are derived from the image.

       glTexParameter assigns the value or values in params to the texture  parameter  specified  as  pname.
       target  defines  the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, or GL_TEXTURE_3D.  The fol-lowing following
       lowing symbols are accepted in pname:

       GL_TEXTURE_MIN_FILTER
                 The texture minifying function is used whenever the pixel being textured maps  to  an  area
                 greater  than one texture element.  There are six defined minifying functions.  Two of them
                 use the nearest one or nearest four texture elements to compute  the  texture  value.   The
                 other four use mipmaps.

                 A  mipmap  is  an  ordered set of arrays representing the same image at progressively lower
                 resolutions.  If the texture has dimensions 2^n x 2^m, there are max ( n, m ) + 1  mipmaps.
                 The  first  mipmap  is  the  original  texture, with dimensions 2^n x 2^m.  Each subsequent
                 mipmap has dimensions 2^(k-1) x 2^(l-1), where 2^k x 2^l are the dimensions of the previous
                 mipmap,  until either k = 0 or l = 0.  At that point, subsequent mipmaps have dimension 1 x
                 2^(l-1) or 2^(k-1) x 1 until the final mipmap, which has  dimension  1x1.   To  define  the
                 mipmaps,    call    glTexImage1D,    glTexImage2D,   glTexImage3D,   glCopyTexImage1D,   or
                 glCopyTexImage2D with the level argument indicating the order of the mipmaps.  Level  0  is
                 the original texture; level max ( n, m ) is the final 1x1 mipmap.

                 params supplies a function for minifying the texture as one of the following:

                 GL_NEAREST
                           Returns  the value of the texture element that is nearest (in Manhattan distance)
                           to the center of the pixel being textured.

                 GL_LINEAR Returns the weighted average of the four texture elements that are closest to the
                           center  of  the pixel being textured.  These can include border texture elements,
                           depending on the values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T,  and  on  the
                           exact mapping.

                 GL_NEAREST_MIPMAP_NEAREST
                           Chooses the mipmap that most closely matches the size of the pixel being textured
                           and uses the GL_NEAREST criterion (the texture element nearest to the  center  of
                           the pixel) to produce a texture value.

                 GL_LINEAR_MIPMAP_NEAREST
                           Chooses the mipmap that most closely matches the size of the pixel being textured
                           and uses the GL_LINEAR criterion (a weighted average of the four texture elements
                           that are closest to the center of the pixel) to produce a texture value.

                 GL_NEAREST_MIPMAP_LINEAR
                           Chooses  the two mipmaps that most closely match the size of the pixel being tex-tured textured
                           tured and uses the GL_NEAREST criterion (the texture element nearest to the  cen-ter center
                           ter of the pixel) to produce a texture value from each mipmap.  The final texture
                           value is a weighted average of those two values.

                 GL_LINEAR_MIPMAP_LINEAR
                           Chooses the two mipmaps that most closely match the size of the pixel being  tex-tured textured
                           tured  and  uses  the GL_LINEAR criterion (a weighted average of the four texture
                           elements that are closest to the center of the pixel) to produce a texture  value
                           from  each  mipmap.   The  final texture value is a weighted average of those two
                           values.

                 As more texture elements are sampled in the minification process, fewer aliasing  artifacts
                 will  be apparent.  While the GL_NEAREST and GL_LINEAR minification functions can be faster
                 than the other four, they sample only one or four texture elements to determine the texture
                 value  of  the  pixel  being rendered and can produce moire patterns or ragged transitions.
                 The initial value of GL_TEXTURE_MIN_FILTER is GL_NEAREST_MIPMAP_LINEAR.

       GL_TEXTURE_MAG_FILTER
                 The texture magnification function is used when the pixel being textured maps  to  an  area
                 less  than  or equal to one texture element.  It sets the texture magnification function to
                 either GL_NEAREST or GL_LINEAR (see below). GL_NEAREST is generally faster than  GL_LINEAR,
                 but  it  can produce textured images with sharper edges because the transition between tex-ture texture
                 ture elements is not as smooth.  The initial value of GL_TEXTURE_MAG_FILTER is GL_LINEAR.

                 GL_NEAREST
                           Returns the value of the texture element that is nearest (in Manhattan  distance)
                           to the center of the pixel being textured.

                 GL_LINEAR Returns the weighted average of the four texture elements that are closest to the
                           center of the pixel being textured.  These can include border  texture  elements,
                           depending  on  the  values of GL_TEXTURE_WRAP_S and GL_TEXTURE_WRAP_T, and on the
                           exact mapping.



       GL_TEXTURE_MIN_LOD
                 Sets the minimum level-of-detail parameter.  This floating-point value limits the selection
                 of highest resolution mipmap (lowest mipmap level). The initial value is -1000.


       GL_TEXTURE_MAX_LOD
                 Sets the maximum level-of-detail parameter.  This floating-point value limits the selection
                 of the lowest resolution mipmap (highest mipmap level). The initial value is 1000.


       GL_TEXTURE_BASE_LEVEL
                 Specifies the index of the lowest defined mipmap level. This is an integer value. The  ini-tial initial
                 tial value is 0.


       GL_TEXTURE_MAX_LEVEL
                 Sets  the  index of the highest defined mipmap level. This is an integer value. The initial
                 value is 1000.


       GL_TEXTURE_WRAP_S
                 Sets the wrap parameter for texture coordinate s to either GL_CLAMP,  GL_CLAMP_TO_EDGE,  or
                 GL_REPEAT.   GL_CLAMP  causes  s coordinates to be clamped to the range [0,1] and is useful
                 for  preventing  wrapping  artifacts  when  mapping  a  single  image   onto   an   object.
                 GL_CLAMP_TO_EDGE  causes  s coordinates to be clamped to the range 1/2N, 1-1/2N, where N is
                 the size of the texture in the direction of clamping.  GL_REPEAT causes the integer part of
                 the  s  coordinate  to be ignored; the GL uses only the fractional part, thereby creating a
                 repeating pattern.  Border texture elements  are  accessed  only  if  wrapping  is  set  to
                 GL_CLAMP.  Initially, GL_TEXTURE_WRAP_S is set to GL_REPEAT.


       GL_TEXTURE_WRAP_T
                 Sets  the  wrap parameter for texture coordinate t to either GL_CLAMP, GL_CLAMP_TO_EDGE, or
                 GL_REPEAT.  See the discussion under GL_TEXTURE_WRAP_S.   Initially,  GL_TEXTURE_WRAP_T  is
                 set to GL_REPEAT.

       GL_TEXTURE_WRAP_R
                 Sets  the  wrap parameter for texture coordinate r to either GL_CLAMP, GL_CLAMP_TO_EDGE, or
                 GL_REPEAT.  See the discussion under GL_TEXTURE_WRAP_S.   Initially,  GL_TEXTURE_WRAP_R  is
                 set to GL_REPEAT.

       GL_TEXTURE_BORDER_COLOR
                 Sets  a border color.  params contains four values that comprise the RGBA color of the tex-ture texture
                 ture border.  Integer color components are interpreted linearly such that the most positive
                 integer maps to 1.0, and the most negative integer maps to -1.0.  The values are clamped to
                 the range [0,1] when they are specified.  Initially, the border color is (0, 0, 0, 0).

       GL_TEXTURE_PRIORITY
                 Specifies the texture residence priority of the currently bound texture.  Permissible  val-ues values
                 ues  are in the range [0, 1].  See glPrioritizeTextures and glBindTexture for more informa-tion. information.
                 tion.

NOTES
       GL_TEXTURE_3D,      GL_TEXTURE_MIN_LOD,      GL_TEXTURE_MAX_LOD,      GL_TEXTURE_BASE_LEVEL,      and
       GL_TEXTURE_MAX_LEVEL are only available if the GL version is 1.2 or greater.

       Suppose  that  a  program  has  enabled  texturing  (by calling glEnable with argument GL_TEXTURE_1D,
       GL_TEXTURE_2D, or GL_TEXTURE_3D) and has set GL_TEXTURE_MIN_FILTER  to  one  of  the  functions  that
       requires  a  mipmap.  If either the dimensions of the texture images currently defined (with previous
       calls to glTexImage1D, glTexImage2D, glTexImage3D, glCopyTexImage1D, or glCopyTexImage2D) do not fol-low follow
       low the proper sequence for mipmaps (described above), or there are fewer texture images defined than
       are needed, or the set of texture images have differing numbers of texture components, then it is  as
       if texture mapping were disabled.

       Linear  filtering  accesses  the  four nearest texture elements only in 2D textures.  In 1D textures,
       linear filtering accesses the two nearest texture elements.

       When the GL_ARB_multitexture extension is supported, glTexParameter specifies the texture  parameters
       for the active texture unit, specified by calling glActiveTextureARB.

ERRORS
       GL_INVALID_ENUM is generated if target or pname is not one of the accepted defined values.

       GL_INVALID_ENUM  is  generated  if params should have a defined constant value (based on the value of
       pname) and does not.

       GL_INVALID_OPERATION is generated if glTexParameter is executed between the execution of glBegin  and
       the corresponding execution of glEnd.

ASSOCIATED GETS
       glGetTexParameter
       glGetTexLevelParameter

SEE ALSO
       glActiveTextureARB(3G),      glBindTexture(3G),     glCopyPixels(3G),     glCopyTexImage1D(3G),     glCopyTexImage2D(3G),
       glCopyTexSubImage1D(3G),   glCopyTexSubImage2D(3G),    glCopyTexSubImage3D(3G),    glDrawPixels(3G),    glPixelStore(3G),
       glPixelTransfer(3G),  glPrioritizeTextures(3G), glTexEnv(3G), glTexGen(3G), glTexImage1D(3G), glTexImage2D(3G), glTexImage3D(3G),
       glTexSubImage1D(3G), glTexSubImage2D(3G), glTexSubImage3D(3G)






                                                                                          GLTEXPARAMETER(3G)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.