glGetLight.3gl







Name

  glGetLightfv,	glGetLightiv - return light source parameter values





C Specification

  void glGetLightfv( GLenum light,

		     GLenum pname,

		     GLfloat *params )

  void glGetLightiv( GLenum light,

		     GLenum pname,

		     GLint *params )





Parameters



  light	  Specifies a light source.  The number	of possible lights depends on

	  the implementation, but at least eight lights	are supported.	They

	  are identified by symbolic names of the form GL_LIGHTi where 0 <= i

	  < GL_MAX_LIGHTS.



  pname	  Specifies a light source parameter for light.	 Accepted symbolic

	  names	are GL_AMBIENT,	GL_DIFFUSE, GL_SPECULAR, GL_POSITION,

	  GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF,

	  GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION , and

	  GL_QUADRATIC_ATTENUATION.



  params  Returns the requested	data.





Description

  glGetLight returns in	params the value or values of a	light source

  parameter.  light names the light and	is a symbolic name of the form

  GL_LIGHTi for	0<=i<GL_MAX_LIGHTS, where GL_MAX_LIGHTS is an implementation

  dependent constant that is greater than or equal to eight.  pname specifies

  one of ten light source parameters, again by symbolic	name.



  The parameters are as	follows:



  GL_AMBIENT	      params returns four integer or floating-point values

		      representing the ambient intensity of the	light source.

		      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 intensity of the	light source.

		      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	intensity of the light

		      source.  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_POSITION	      params returns four integer or floating-point values

		      representing the position	of the light source.  Integer

		      values, when requested, are computed by rounding the

		      internal floating-point values to	the nearest integer

		      value.  The returned values are those maintained in eye

		      coordinates.  They will not be equal to the values

		      specified	using glLight, unless the modelview matrix

		      was identity at the time glLight was called.



  GL_SPOT_DIRECTION   params returns three integer or floating-point values

		      representing the direction of the	light source.

		      Integer values, when requested, are computed by

		      rounding the internal floating-point values to the

		      nearest integer value.  The returned values are those

		      maintained in eye	coordinates.  They will	not be equal

		      to the values specified using glLight, unless the

		      modelview	matrix was identity at the time	glLight	was

		      called.  Although	spot direction is normalized before

		      being used in the	lighting equation, the returned

		      values are the transformed versions of the specified

		      values prior to normalization.



  GL_SPOT_EXPONENT    params returns a single integer or floating-point	value

		      representing the spot exponent of	the light.  An

		      integer value, when requested, is	computed by rounding

		      the internal floating-point representation to the

		      nearest integer.



  GL_SPOT_CUTOFF      params returns a single integer or floating-point	value

		      representing the spot cutoff angle of the	light.	An

		      integer value, when requested, is	computed by rounding

		      the internal floating-point representation to the

		      nearest integer.



  GL_CONSTANT_ATTENUATION

		      params returns a single integer or floating-point	value

		      representing the constant	(not distance related)

		      attenuation of the light.	 An integer value, when

		      requested, is computed by	rounding the internal

		      floating-point representation to the nearest integer.



  GL_LINEAR_ATTENUATION

		      params returns a single integer or floating-point	value

		      representing the linear attenuation of the light.	 An

		      integer value, when requested, is	computed by rounding

		      the internal floating-point representation to the

		      nearest integer.



  GL_QUADRATIC_ATTENUATION

		      params returns a single integer or floating-point	value

		      representing the quadratic attenuation of	the light.

		      An integer value,	when requested,	is computed by

		      rounding the internal floating-point representation to

		      the nearest integer.







Notes

  It is	always the case	that GL_LIGHTi = GL_LIGHT0 + i.



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



Errors

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



  GL_INVALID_OPERATION is generated if glGetLight is called between a call to

  glBegin and the corresponding	call to	glEnd.



See Also

  glLight






Introduction | Alphabetic | Specification

Last Edited: Fri, May 26, 1995

AFV