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

FreeBSD Manual Pages

  
 
  

home | help
GLTEXPARAMETER()					      GLTEXPARAMETER()

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 )

       delim $$

PARAMETERS
       target  Specifies the target texture,  which  must  be  either  GL_TEX-
	       TURE_1D or GL_TEXTURE_2D.

       pname   Specifies  the symbolic name of a single-valued texture parame-
	       ter.  pname can be one of the following:	GL_TEXTURE_MIN_FILTER,
	       GL_TEXTURE_MAG_FILTER, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, 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
	      or GL_TEXTURE_2D.

       pname  Specifies	the symbolic name of a texture parameter.   pname  can
	      be   one	 of   the  following:  GL_TEXTURE_MIN_FILTER,  GL_TEX-
	      TURE_MAG_FILTER, GL_TEXTURE_WRAP_S,  GL_TEXTURE_WRAP_T,  GL_TEX-
	      TURE_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  sys-
       tem.  A texture is a one- or two-dimensional image and a	set of parame-
       ters that determine how samples are derived from	the image.

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

       GL_TEXTURE_MIN_FILTER
		 The texture minifying function	is used	whenever the pixel be-
		 ing  textured	maps  to an area greater than one texture ele-
		 ment.	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 sup n times 2 sup m$, there are $ bold max ( n,
		 m ) + 1 $ mipmaps.  The first mipmap is the original texture,
		 with  dimensions  $2  sup  n times 2 sup m$.  Each subsequent
		 mipmap	has dimensions $2 sup {	k - 1 }	times 2	sup {  l  -  1
		 }$,  where  $2	sup k times 2 sup l$ are the dimensions	of the
		 previous mipmap, until	either $k =  0$	 or  $l=0$.   At  that
		 point,	 subsequent mipmaps have dimension $ 1 times 2 sup { l
		 - 1 } $ or $ 2	sup { k	- 1} times 1 $ until the final mipmap,
		 which has dimension $1	times 1$.  To define the mipmaps, call
		 glTexImage1D, glTexImage2D, glCopyTexImage1D, or glCopyTexIm-
		 age2D with the	level argument indicating  the	order  of  the
		 mipmaps.  Level 0 is the original texture; level $ bold max (
		 n, m )	$ is the final $1 times	1$ 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	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 average 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 av-
			   erage 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 tex-
		 ture elements to determine the	texture	value of the pixel be-
		 ing rendered and can produce moire patterns or	ragged transi-
		 tions.	   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 be-
		 ing textured maps to an area less than	or equal to  one  tex-
		 ture  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 elements is not as smooth.  The initial value of GL_TEX-
		 TURE_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_WRAP_S
		 Sets the wrap parameter for texture coordinate	 s  to	either
		 GL_CLAMP or GL_REPEAT.	 GL_CLAMP causes $s$ coordinates to be
		 clamped to the	range [0,1] and	is useful for preventing wrap-
		 ping  artifacts  when	mapping	a single image onto an object.
		 GL_REPEAT causes the integer part of the $s$ coordinate to be
		 ignored; the GL uses only the fractional part,	thereby	creat-
		 ing a repeating pattern.  Border  texture  elements  are  ac-
		 cessed	 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  or  GL_REPEAT.   See	 the  discussion under GL_TEX-
		 TURE_WRAP_S.  Initially, GL_TEXTURE_WRAP_T is set  to	GL_RE-
		 PEAT.

       GL_TEXTURE_BORDER_COLOR
		 Sets  a  border color.	 params	contains four values that com-
		 prise the RGBA	color of the texture  border.	Integer	 color
		 components  are interpreted linearly such that	the most posi-
		 tive 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 informa-
		 tion.

NOTES
       Suppose that a program has enabled texturing (by	calling	glEnable  with
       argument	  GL_TEXTURE_1D	  or   GL_TEXTURE_2D)	and  has  set  GL_TEX-
       TURE_MIN_FILTER to one of the functions that requires a mipmap.	If ei-
       ther the	dimensions of the texture images currently defined (with  pre-
       vious calls to glTexImage1D, glTexImage2D, glCopyTexImage1D, or glCopy-
       TexImage2D)  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.

ERRORS
       GL_INVALID_ENUM	is  generated if target	or pname is not	one of the ac-
       cepted 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
       glBindTexture,	 glCopyPixels,	 glCopyTexImage1D,   glCopyTexImage2D,
       glCopyTexSubImage1D, glCopyTexSubImage2D,  glDrawPixels,	 glPixelStore,
       glPixelTransfer,	 glPrioritizeTextures,	glTexEnv,  glTexGen,  glTexIm-
       age1D, glTexImage2D, glTexSubImage1D, glTexSubImage2D

							      GLTEXPARAMETER()

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

home | help