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

  
 
  

home | help
GLMATERIAL()							    GLMATERIAL()

NAME
     glMaterialf, glMateriali, glMaterialfv, glMaterialiv - specify material pa-
     rameters 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_SPECULAR,
	    GL_EMISSION,  GL_SHININESS, GL_AMBIENT_AND_DIFFUSE,  or GL_COLOR_IN-
	    DEXES.

     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 dis-
     abled), 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  mate-
     rials  will be modified.  The second, pname, specifies which of several pa-
     rameters in one or both sets will be modified.  The third,  params,  speci-
     fies 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 ref-
     erence 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 mater-
			 ial.  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.  Float-
			 ing-point values are mapped directly.	Neither  integer
			 nor floating-point values are clamped.  The initial am-
			 bient reflectance for both front- and back-facing mate-
			 rials 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 mater-
			 ial.  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.  Float-
			 ing-point values are mapped directly.	Neither  integer
			 nor  floating-point  values  are  clamped.  The initial
			 diffuse reflectance for both front- and back-facing ma-
			 terials 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 mate-
			 rial.	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.  Float-
			 ing-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 1.0, and
			 the most negative representable  value  maps  to  -1.0.
			 Floating-point values are mapped directly.  Neither in-
			 teger	nor floating-point values are clamped.	The ini-
			 tial 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-fac-
			 ing 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 values, and GL_SHINI-
			 NESS, are the only material values used  by  the  color
			 index	mode  lighting	equation.  Refer to the glLight-
			 Model reference page for a discussion	of  color  index
			 lighting.

NOTES
     The material parameters can be updated at any time.  In particular, glMate-
     rial  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 glColorMater-
     ial).

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=glMaterialiv&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help