glGetLightiv

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
GLGETLIGHT(3G)						       GLGETLIGHT(3G)



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	 sym-
	       bolic   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  imple-
       mentation  dependent  constant that is greater than or equal to eight.
       pname specifies one of ten light source parameters, again by  symbolic
       name.

       The following parameters are defined:

       GL_AMBIENT	   params returns four integer or floating-point val-
			   ues 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 pos-
			   itive 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. The initial value is (0, 0, 0, 1).

       GL_DIFFUSE	   params returns four integer or floating-point val-
			   ues	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 pos-
			   itive  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.  The initial value for GL_LIGHT0 is (1,
			   1, 1, 1); for other lights, the initial  value  is
			   (0, 0, 0, 0).

       GL_SPECULAR	   params returns four integer or floating-point val-
			   ues 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 pos-
			   itive 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. The initial value for GL_LIGHT0 is  (1,
			   1,  1,  1); for other lights, the initial value is
			   (0, 0, 0, 0).

       GL_POSITION	   params returns four integer or floating-point val-
			   ues 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. The initial	value
			   is (0, 0, 1, 0).

       GL_SPOT_DIRECTION   params  returns  three  integer  or floating-point
			   values representing the  direction  of  the	light
			   source.   Integer values, when requested, are com-
			   puted by rounding the internal floating-point val-
			   ues	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. The initial value is (0, 0, -1).

       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 representa-
			   tion to the nearest integer. The initial value  is
			   0.

       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 com-
			   puted by rounding the internal floating-point rep-
			   resentation	to  the	 nearest integer. The initial
			   value is 180.

       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. The initial value is 1.

       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 com-
			   puted by rounding the internal floating-point rep-
			   resentation	to  the	 nearest integer. The initial
			   value is 0.

       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. The initial
			   value is 0.

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 executed between
       the execution of glBegin and the corresponding execution of glEnd.

SEE ALSO
       glLight(3G)



							       GLGETLIGHT(3G)