glGetMaterial.3gl




Name

  glGetMaterialfv, glGetMaterialiv - return material parameters


C Specification

  void glGetMaterialfv(	GLenum face,
			GLenum pname,
			GLfloat	*params	)
  void glGetMaterialiv(	GLenum face,
			GLenum pname,
			GLint *params )


Parameters


  face	  Specifies which of the two materials is being	queried.  GL_FRONT or
	  GL_BACK are accepted,	representing the front and back	materials,
	  respectively.

  pname	  Specifies the	material parameter to return.  GL_AMBIENT,
	  GL_DIFFUSE, GL_SPECULAR, GL_EMISSION,	GL_SHININESS, and
	  GL_COLOR_INDEXES are accepted.

  params  Returns the requested	data.

Description

  glGetMaterial	returns	in params the value or values of parameter pname of
  material face.  Six parameters are defined:

  GL_AMBIENT	      params returns four integer or floating-point values
		      representing the ambient reflectance of the material.
		      Integer values, when requested, are linearly mapped
		      from the internal	floating-point representation such
		      that 1.0 maps to the most	positive representable
		      integer value, and -1.0 maps to the most negative
		      representable integer value.  If the internal value is
		      outside the range	[-1,1],	the corresponding integer
		      return value is undefined.

  GL_DIFFUSE	      params returns four integer or floating-point values
		      representing the diffuse reflectance of the material.
		      Integer values, when requested, are linearly mapped
		      from the internal	floating-point representation such
		      that 1.0 maps to the most	positive representable
		      integer value, and -1.0 maps to the most negative
		      representable integer value.  If the internal value is
		      outside the range	[-1,1],	the corresponding integer
		      return value is undefined.

  GL_SPECULAR	      params returns four integer or floating-point values
		      representing the specular	reflectance of the material.
		      Integer values, when requested, are linearly mapped
		      from the internal	floating-point representation such
		      that 1.0 maps to the most	positive representable
		      integer value, and -1.0 maps to the most negative
		      representable integer value.  If the internal value is
		      outside the range	[-1,1],	the corresponding integer
		      return value is undefined.

  GL_EMISSION	      params returns four integer or floating-point values
		      representing the emitted light intensity of the
		      material.	 Integer values, when requested, are linearly
		      mapped from the internal floating-point representation
		      such that	1.0 maps to the	most positive representable
		      integer value, and -1.0 maps to the most negative
		      representable integer value.  If the internal value is
		      outside the range	[-1,1],	the corresponding integer
		      return value is undefined.

  GL_SHININESS	      params returns one integer or floating-point value
		      representing the specular	exponent of the	material.
		      Integer values, when requested, are computed by
		      rounding the internal floating-point value to the
		      nearest integer value.

  GL_COLOR_INDEXES    params returns three integer or floating-point values
		      representing the ambient,	diffuse, and specular indices
		      of the material.	These indices are used only for	color
		      index lighting.  (The other parameters are all used
		      only for RGBA lighting.) Integer values, when
		      requested, are computed by rounding the internal
		      floating-point values to the nearest integer values.

Notes

  If an	error is generated, no change is made to the contents of params.

Errors

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

  GL_INVALID_OPERATION is generated if glGetMaterial is	called between a call
  to glBegin and the corresponding call	to glEnd.

See Also

  glMaterial




Introduction | Alphabetic | Specification

Last Edited: Mon, May 22, 1995

AFV