MirBSD manpage: glTexParameter(3), glTexParameterf(3), glTexParameterfv(3), glTexParameteri(3), glTexParameteriv(3)


GLTEXPARAMETER(3G)  UNIX Programmer's Manual   GLTEXPARAMETER(3G)

NAME

     glTexParameterf, glTexParameteri, glTexParameterfv, glTex-
     Parameteriv - 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 tex-
             ture 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.

MirBSD #10-current     Printed 2021-12-07                       1

GLTEXPARAMETER(3G)  UNIX Programmer's Manual   GLTEXPARAMETER(3G)

     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
     samples 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 following 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 2n x 2m, there are
               max(n,m)+1 mipmaps. The first mipmap is the origi-
               nal texture, with dimensions 2n x 2m. Each subse-
               quent mipmap has dimensions 2k-1 x 2l-1, where
               2k x 2l are the dimensions of the previous mipmap,
               until either k = 0 or l = 0. At that point, subse-
               quent mipmaps have dimension 1 x 2l-1 or 2k-1 x 1
               until the final mipmap, which has dimension 1 x 1.
               To define the mipmaps, call glTexImage1D,
               glTexImage2D, glTexImage3D, glCopyTexImage1D, or
               glCopyTexImage2D with the level argument indicat-
               ing the order of the mipmaps. Level 0 is the ori-
               ginal texture; level max(n,m) is the final 1 x 1
               mipmap.

               params supplies a function for minifying the tex-
               ture 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 tex-
                         tured.

               GL_LINEAR Returns the weighted average of the four

MirBSD #10-current     Printed 2021-12-07                       2

GLTEXPARAMETER(3G)  UNIX Programmer's Manual   GLTEXPARAMETER(3G)

                         texture elements that are closest to the
                         center of the pixel being textured.
                         These can include border texture ele-
                         ments, 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 tex-
                         tured and uses the GL_NEAREST criterion
                         (the texture element nearest to the
                         center of the pixel) to produce a tex-
                         ture value.

               GL_LINEAR_MIPMAP_NEAREST
                         Chooses the mipmap that most closely
                         matches the size of the pixel being tex-
                         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.

               GL_NEAREST_MIPMAP_LINEAR
                         Chooses the two mipmaps that most
                         closely match 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 from each mipmap. The
                         final texture value is a weighted aver-
                         age of those two values.

               GL_LINEAR_MIPMAP_LINEAR
                         Chooses the two mipmaps that most
                         closely match 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 from each mipmap. The
                         final texture value is a weighted aver-
                         age of those two values.

               As more texture elements are sampled in the minif-
               ication process, fewer aliasing artifacts will be
               apparent. While the GL_NEAREST and GL_LINEAR min-
               ification functions can be faster than the other
               four, they sample only one or four texture ele-
               ments to determine the texture value of the pixel
               being rendered and can produce moire patterns or

MirBSD #10-current     Printed 2021-12-07                       3

GLTEXPARAMETER(3G)  UNIX Programmer's Manual   GLTEXPARAMETER(3G)

               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 tex-
               ture 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 texture 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 tex-
                         tured.

               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 ele-
                         ments, 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 initial 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.

MirBSD #10-current     Printed 2021-12-07                       4

GLTEXPARAMETER(3G)  UNIX Programmer's Manual   GLTEXPARAMETER(3G)

     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 sin-
               gle image onto an object. GL_CLAMP_TO_EDGE causes
               s coor_i_|ates to be clamped to the range
               |__,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 ele-
               ments 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 texture
               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 values are in
               the range [0, 1]. See glPrioritizeTextures and
               glBindTexture for more information.

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.

MirBSD #10-current     Printed 2021-12-07                       5

GLTEXPARAMETER(3G)  UNIX Programmer's Manual   GLTEXPARAMETER(3G)

     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 dimen-
     sions of the texture images currently defined (with previous
     calls to glTexImage1D, glTexImage2D, glTexImage3D,
     glCopyTexImage1D, or glCopyTexImage2D) do not follow 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 exe-
     cuted 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)

MirBSD #10-current     Printed 2021-12-07                       6

Generated on 2021-12-07 11:07:08 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.