- return light source parameter values



C SPECIFICATION


PARAMETERS

       _param1  Specifies a light source.  The number of possible
                lights depends  on  the  implementation,  but  at
                least eight lights are supported.  They are iden-
                tified by symbolic names of  the  form  GL_LIGHTi
                where 0 <= i < GL_MAX_LIGHTS.

       _param2  Specifies  a  light source parameter for _param1.
                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.

       _param3  Returns the requested data.


DESCRIPTION

       glGetLight  returns  in  _param3  the value or values of a
       light source parameter.  _param1 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.
       _param2 specifies one  of  ten  light  source  parameters,
       again by symbolic name.

       The following parameters are defined:

       GL_AMBIENT          _param3 returns four integer or float-
                           ing-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  repre-
                           sentable integer value.  If the inter-
                           nal  value  is  outside the range [-1,
                           1], the corresponding  integer  return
                           value  is undefined. The initial value
                           is (0, 0, 0, 1).

       GL_DIFFUSE          _param3 returns four integer or float-
                           ing-point values representing the dif-
                           fuse intensity of  the  light  source.
                           Integer  values,  when  requested, are
                           linearly  mapped  from  the   internal
                           specular   intensity   of   the  light
                           source.     Integer    values,    when
                           requested,  are  linearly  mapped from
                           the internal floating-point  represen-
                           tation  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. The initial
                           value for GL_LIGHT0 is (1, 1,  1,  1);
                           for other lights, the initial value is
                           (0, 0, 0, 0).

       GL_POSITION         _param3 returns four integer or float-
                           ing-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 speci-
                           fied  using  glLight,  unless the mod-
                           elview matrix was identity at the time
                           glLight  was called. The initial value
                           is (0, 0, 1, 0).

       GL_SPOT_DIRECTION   _param3  returns  three   integer   or
                           floating-point values representing the
                           direction of the light source.   Inte-
                           ger  values,  when requested, are com-
                           puted by rounding the internal  float-
                           ing-point  values to the nearest inte-
                           ger 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  trans-
                           formed  versions of the specified val-
                           ues prior to normalization.  The  ini-
                           tial value is (0, 0, -1).

       GL_SPOT_EXPONENT    _param3  returns  a  single integer or
                           floating-point value representing  the
                           spot  exponent of the light.  An inte-
                           ger value, when requested, is computed
                           floating-point  value representing the
                           constant (not distance-related) atten-
                           uation   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
                           _param3  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 float-
                           ing-point representation to the  near-
                           est integer. The initial value is 0.

       GL_QUADRATIC_ATTENUATION
                           _param3  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  con-
       tents of _param3.


ERRORS

       GL_INVALID_ENUM  is generated if _param1 or _param2 is not
       an accepted value.

       GL_INVALID_OPERATION is generated if  glGetLight  is  exe-
       cuted between the execution of glBegin and the correspond-
       ing execution of glEnd.


SEE ALSO

       glLight



                                                                1