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

  man pages->IRIX man pages -> OpenGL/gltexgen (3)              
Title
Content
Arch
Section
 

Contents


glTexGen(3G)		       OpenGL Reference			  glTexGen(3G)


NAME    [Toc]    [Back]

     glTexGend,	glTexGenf, glTexGeni, glTexGendv, glTexGenfv, glTexGeniv -
     control the generation of texture coordinates

C SPECIFICATION    [Toc]    [Back]

     void glTexGend( GLenum coord,
		     GLenum pname,
		     GLdouble param )
     void glTexGenf( GLenum coord,
		     GLenum pname,
		     GLfloat param )
     void glTexGeni( GLenum coord,
		     GLenum pname,
		     GLint param )

PARAMETERS    [Toc]    [Back]

     coord   Specifies a texture coordinate.  Must be one of GL_S, GL_T, GL_R,
	     or	GL_Q.

     pname   Specifies the symbolic name of the	texture-coordinate generation
	     function.	Must be	GL_TEXTURE_GEN_MODE.

     param   Specifies a single-valued texture generation parameter, one of
	     GL_OBJECT_LINEAR, GL_EYE_LINEAR, or GL_SPHERE_MAP.

C SPECIFICATION    [Toc]    [Back]

     void glTexGendv( GLenum coord,
		      GLenum pname,
		      const GLdouble *params )
     void glTexGenfv( GLenum coord,
		      GLenum pname,
		      const GLfloat *params )
     void glTexGeniv( GLenum coord,
		      GLenum pname,
		      const GLint *params )

PARAMETERS    [Toc]    [Back]

     coord
	  Specifies a texture coordinate.  Must	be one of GL_S,	GL_T, GL_R, or
	  GL_Q.

     pname
	  Specifies the	symbolic name of the texture-coordinate	generation
	  function or function parameters.  Must be GL_TEXTURE_GEN_MODE,
	  GL_OBJECT_PLANE, or GL_EYE_PLANE.

     params
	  Specifies a pointer to an array of texture generation	parameters.
	  If pname is GL_TEXTURE_GEN_MODE, then	the array must contain a



									Page 1






glTexGen(3G)		       OpenGL Reference			  glTexGen(3G)



	  single symbolic constant, one	of GL_OBJECT_LINEAR, GL_EYE_LINEAR, or
	  GL_SPHERE_MAP. Otherwise, params holds the coefficients for the
	  texture-coordinate generation	function specified by pname.

DESCRIPTION    [Toc]    [Back]

     glTexGen selects a	texture-coordinate generation function or supplies
     coefficients for one of the functions.  coord names one of	the (s,	t, r,
     q)	texture	coordinates; it	must be	one of the symbols GL_S, GL_T, GL_R,
     or	GL_Q.  pname must be one of three symbolic constants:
     GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE, or GL_EYE_PLANE. If pname is
     GL_TEXTURE_GEN_MODE, then params chooses a	mode, one of GL_OBJECT_LINEAR,
     GL_EYE_LINEAR, or GL_SPHERE_MAP. If pname is either GL_OBJECT_PLANE or
     GL_EYE_PLANE, params contains coefficients	for the	corresponding texture
     generation	function.

     If	the texture generation function	is GL_OBJECT_LINEAR, the function

			   g = p x  + p	y  + p z  + p w
				1 o    2 o    3	o    4 o

     is	used, where g is the value computed for	the coordinate named in	coord,
     p , p , p , and p	are the	four values supplied in	params,	and x ,	y ,
      1	  2   3	      4						     o	 o
     z , and w	are the	object coordinates of the vertex.  This	function can
      o	      o
     be	used, for example, to texture-map terrain using	sea level as a
     reference plane (defined by p , p , p , and p ). The altitude of a
				  1   2	  3	  4
     terrain vertex is computed	by the GL_OBJECT_LINEAR	coordinate generation
     function as its distance from sea level; that altitude can	then be	used
     to	index the texture image	to map white snow onto peaks and green grass
     onto foothills.

     If	the texture generation function	is GL_EYE_LINEAR, the function

				'      '      '	     '
			   g = p x  + p	y  + p z  + p w
				1 e    2 e    3	e    4 e

     is	used, where

			'   '	'   '			   -1
		      (p   p   p   p ) = (p   p	  p   p	) M
			1   2	3   4	   1   2   3   4


     and x , y , z , and w  are	the eye	coordinates of the vertex, p , p , p ,
	  e   e	  e	  e					    1	2   3
     and p  are	the values supplied in params, and M is	the modelview matrix
	  4
     when glTexGen is invoked.	If M is	poorly conditioned or singular,
     texture coordinates generated by the resulting function may be inaccurate
     or	undefined.

     Note that the values in params define a reference plane in	eye
     coordinates. The modelview	matrix that is applied to them may not be the
     same one in effect	when the polygon vertices are transformed. This
     function establishes a field of texture coordinates that can produce
     dynamic contour lines on moving objects.

     If	pname is GL_SPHERE_MAP and coord is either GL_S	or GL_T, s and t
     texture coordinates are generated as follows. Let u be the	unit vector
     pointing from the origin to the polygon vertex (in	eye coordinates). Let



									Page 2






glTexGen(3G)		       OpenGL Reference			  glTexGen(3G)



     n sup prime be the	current	normal,	after transformation to	eye
     coordinates. Let

						 T
				 f = (f	  f   f	)
				       x   y   z

     be	the reflection vector such that

					       T
					    ' '
				  f = u	- 2n n	u

			 _____________________

			|  2	 2	     2
     Finally, let m = 2	 f   + f   + (f	 + 1) .	Then the values	assigned to
		       \| x	y      z
     the s and t texture coordinates are

					f
					__   _
				    s =	   +
					m    2

					f
					__   _
				    t =	   +
					m    2


     To	enable or disable a texture-coordinate generation function, call
     glEnable or glDisable with	one of the symbolic texture-coordinate names
     (GL_TEXTURE_GEN_S,	GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R, or
     GL_TEXTURE_GEN_Q) as the argument.	When enabled, the specified texture
     coordinate	is computed according to the generating	function associated
     with that coordinate. When	disabled, subsequent vertices take the
     specified texture coordinate from the current set of texture coordinates.
     Initially,	all texture generation functions are set to GL_EYE_LINEAR and
     are disabled.  Both s plane equations are (1, 0, 0, 0), both t plane
     equations are (0, 1, 0, 0), and all r and q plane equations are (0, 0, 0,
     0).

ERRORS    [Toc]    [Back]

     GL_INVALID_ENUM is	generated when coord or	pname is not an	accepted
     defined value, or when pname is GL_TEXTURE_GEN_MODE and params is not an
     accepted defined value.

     GL_INVALID_ENUM is	generated when pname is	GL_TEXTURE_GEN_MODE, params is
     GL_SPHERE_MAP, and	coord is either	GL_R or	GL_Q.

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

ASSOCIATED GETS    [Toc]    [Back]

     glGetTexGen
     glIsEnabled with argument GL_TEXTURE_GEN_S
     glIsEnabled with argument GL_TEXTURE_GEN_T
     glIsEnabled with argument GL_TEXTURE_GEN_R
     glIsEnabled with argument GL_TEXTURE_GEN_Q

SEE ALSO    [Toc]    [Back]

      
      
     glCopyPixels, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D,
     glCopyTexSubImage3D, glTexEnv, glTexImage1D, glTexImage2D,	glTexImage3D,
     glTexParameter, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
texgen IRIX specify automatic generation of texture coordinates
glpixeltexgen IRIX affects the generation of texture coordinates from pixel groups
glpixeltexgenparameter IRIX affects the generation of texture coordinates in pixel operations
glGetTexGendfv Tru64 return texture coordinate generation parameters
glGetTexGeniv Tru64 return texture coordinate generation parameters
glGetTexGen Tru64 return texture coordinate generation parameters
glGetTexGendv Tru64 return texture coordinate generation parameters
glgettexgen IRIX return texture coordinate generation parameters
glTexCoord Tru64 set the current texture coordinates
glTexCoord1sv Tru64 set the current texture coordinates
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service