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

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

Contents


glMaterial(3G)		       OpenGL Reference			glMaterial(3G)


NAME    [Toc]    [Back]

     glMaterialf, glMateriali, glMaterialfv, glMaterialiv - specify material
     parameters	for the	lighting model

C SPECIFICATION    [Toc]    [Back]

     void glMaterialf( GLenum face,
		       GLenum pname,
		       GLfloat param )
     void glMateriali( GLenum face,
		       GLenum pname,
		       GLint param )

PARAMETERS    [Toc]    [Back]

     face    Specifies which face or faces are being updated.  Must be one of
	     GL_FRONT, GL_BACK,	or GL_FRONT_AND_BACK.

     pname   Specifies the single-valued material parameter of the face	or
	     faces that	is being updated.  Must	be GL_SHININESS.

     param   Specifies the value that parameter	GL_SHININESS will be set to.

C SPECIFICATION    [Toc]    [Back]

     void glMaterialfv(	GLenum face,
			GLenum pname,
			const GLfloat *params )
     void glMaterialiv(	GLenum face,
			GLenum pname,
			const GLint *params )

PARAMETERS    [Toc]    [Back]

     face Specifies which face or faces	are being updated.  Must be one	of
	  GL_FRONT, GL_BACK, or	GL_FRONT_AND_BACK.

     pname
	  Specifies the	material parameter of the face or faces	that is	being
	  updated.  Must be one	of GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR,
	  GL_EMISSION, GL_SHININESS, GL_AMBIENT_AND_DIFFUSE,  or
	  GL_COLOR_INDEXES.

     params
	  Specifies a pointer to the value or values that pname	will be	set
	  to.

DESCRIPTION    [Toc]    [Back]

     glMaterial	assigns	values to material parameters.	There are two matched
     sets of material parameters.  One,	the front-facing set, is used to shade
     points, lines, bitmaps, and all polygons (when two-sided lighting is
     disabled),	or just	front-facing polygons (when two-sided lighting is
     enabled).	The other set, back-facing, is used to shade back-facing



									Page 1






glMaterial(3G)		       OpenGL Reference			glMaterial(3G)



     polygons only when	two-sided lighting is enabled.	Refer to the
     glLightModel reference page for details concerning	one- and two-sided
     lighting calculations.

     glMaterial	takes three arguments.	The first, face, specifies whether the
     GL_FRONT materials, the GL_BACK materials,	or both	GL_FRONT_AND_BACK
     materials will be modified.  The second, pname, specifies which of
     several parameters	in one or both sets will be modified.  The third,
     params, specifies what value or values will be assigned to	the specified
     parameter.

     Material parameters are used in the lighting equation that	is optionally
     applied to	each vertex.  The equation is discussed	in the glLightModel
     reference page.  The parameters that can be specified using glMaterial,
     and their interpretations by the lighting equation, are as	follows:

     GL_AMBIENT		 params	contains four integer or floating-point	values
			 that specify the ambient RGBA reflectance of the
			 material.  Integer values are mapped linearly such
			 that the most positive	representable value maps to
			 1.0, and the most negative representable value	maps
			 to -1.0.  Floating-point values are mapped directly.
			 Neither integer nor floating-point values are
			 clamped.  The initial ambient reflectance for both
			 front-	and back-facing	materials is (0.2, 0.2,	0.2,
			 1.0).

     GL_DIFFUSE		 params	contains four integer or floating-point	values
			 that specify the diffuse RGBA reflectance of the
			 material.  Integer values are mapped linearly such
			 that the most positive	representable value maps to
			 1.0, and the most negative representable value	maps
			 to -1.0.  Floating-point values are mapped directly.
			 Neither integer nor floating-point values are
			 clamped.  The initial diffuse reflectance for both
			 front-	and back-facing	materials is (0.8, 0.8,	0.8,
			 1.0).

     GL_SPECULAR	 params	contains four integer or floating-point	values
			 that specify the specular RGBA	reflectance of the
			 material.  Integer values are mapped linearly such
			 that the most positive	representable value maps to
			 1.0, and the most negative representable value	maps
			 to -1.0.  Floating-point values are mapped directly.
			 Neither integer nor floating-point values are
			 clamped.  The initial specular	reflectance for	both
			 front-	and back-facing	materials is (0, 0, 0, 1).

     GL_EMISSION	 params	contains four integer or floating-point	values
			 that specify the RGBA emitted light intensity of the
			 material.  Integer values are mapped linearly such
			 that the most positive	representable value maps to



									Page 2






glMaterial(3G)		       OpenGL Reference			glMaterial(3G)



			 1.0, and the most negative representable value	maps
			 to -1.0.  Floating-point values are mapped directly.
			 Neither integer nor floating-point values are
			 clamped.  The initial emission	intensity for both
			 front-	and back-facing	materials is (0, 0, 0, 1).

     GL_SHININESS	 params	is a single integer or floating-point value
			 that specifies	the RGBA specular exponent of the
			 material.  Integer and	floating-point values are
			 mapped	directly.  Only	values in the range [0,128]
			 are accepted.	The initial specular exponent for both
			 front-	and back-facing	materials is 0.

     GL_AMBIENT_AND_DIFFUSE    [Toc]    [Back]
			 Equivalent to calling glMaterial twice	with the same
			 parameter values, once	with GL_AMBIENT	and once with
			 GL_DIFFUSE.

     GL_COLOR_INDEXES	 params	contains three integer or floating-point
			 values	specifying the color indices for ambient,
			 diffuse, and specular lighting.  These	three values,
			 and GL_SHININESS, are the only	material values	used
			 by the	color index mode lighting equation.  Refer to
			 the glLightModel reference page for a discussion of
			 color index lighting.

NOTES    [Toc]    [Back]

     The material parameters can be updated at any time.  In particular,
     glMaterial	can be called between a	call to	glBegin	and the	corresponding
     call to glEnd.  If	only a single material parameter is to be changed per
     vertex, however, glColorMaterial is preferred over	glMaterial (see
     glColorMaterial).

     While the ambient,	diffuse, specular and emission material	parameters all
     have alpha	components, only the diffuse alpha component is	used in	the
     lighting computation.

ERRORS    [Toc]    [Back]

     GL_INVALID_ENUM is	generated if either face or pname is not an accepted
     value.

     GL_INVALID_VALUE is generated if a	specular exponent outside the range
     [0,128] is	specified.

ASSOCIATED GETS    [Toc]    [Back]

     glGetMaterial

SEE ALSO    [Toc]    [Back]

      
      
     glColorMaterial, glLight, glLightModel


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
glfragmentmaterial IRIX specify fragment material parameters for the fragment lighting model
lmbind IRIX selects a new material, light source, or lighting model
lmdef IRIX defines or modifies a material, light source, or lighting model
glLightModeli Tru64 set the lighting model parameters
glLightModelfv Tru64 set the lighting model parameters
glLightModeliv Tru64 set the lighting model parameters
gllightmodel IRIX set the lighting model parameters
glLightModelf Tru64 set the lighting model parameters
glLightModel Tru64 set the lighting model parameters
glfragmentlightmodel IRIX set the lighting model parameters
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service