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

FreeBSD Manual Pages

  
 
  

home | help
GLMATERIAL()							  GLMATERIAL()

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

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

PARAMETERS
       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
       void glMaterialfv( GLenum face,
			  GLenum pname,
			  const	GLfloat	*params	)
       void glMaterialiv( GLenum face,
			  GLenum pname,
			  const	GLint *params )

PARAMETERS
       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_SPECU-
	      LAR,  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
       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 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, spec-
       ifies 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 option-
       ally applied to each vertex.  The equation is discussed in the glLight-
       Model reference page.  The parameters that can be specified using glMa-
       terial, and their interpretations by the	lighting equation, are as fol-
       lows:

       GL_AMBIENT	   params contains four	integer	or floating-point val-
			   ues 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  re-
			   flectance 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 val-
			   ues	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 re-
			   flectance 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 val-
			   ues 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 re-
			   flectance for both front- and back-facing materials
			   is (0, 0, 0,	1).

       GL_EMISSION	   params contains four	integer	or floating-point val-
			   ues that specify the	RGBA emitted  light  intensity
			   of  the  material.	Integer	values are mapped lin-
			   early such that  the	 most  positive	 representable
			   value  maps	to  1.0,  and the most negative	repre-
			   sentable value maps to -1.0.	 Floating-point	values
			   are mapped directly.	 Neither integer nor floating-
			   point values	are clamped.  The initial emission in-
			   tensity 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
			   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  val-
			   ues,	and GL_SHININESS, are the only material	values
			   used	 by  the  color	 index mode lighting equation.
			   Refer to the	glLightModel reference page for	a dis-
			   cussion of color index lighting.

NOTES
       The material parameters can be updated at any time.  In particular, gl-
       Material	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).

ERRORS
       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
       glGetMaterial

SEE ALSO
       glColorMaterial,	glLight, glLightModel

								  GLMATERIAL()

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

home | help