glGetFragmentLight(3G)

glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX - return fragment light source parameter values

As shipped in IRIX 6.5.30. Added in IRIX 6.5.15.

NAME
     glGetFragmentLightfvSGIX, glGetFragmentLightivSGIX - return fragment
     light source parameter values


C SPECIFICATION
     void glGetFragmentLightfvSGIX( GLenum light,
                                    GLenum pname,
                                    GLfloat *params )
     void glGetFragmentLightivSGIX( GLenum light,
                                    GLenum pname,
                                    GLint *params )


PARAMETERS
     light   Specifies a fragment light source.  The number of possible
             fragment lights depends on the implementation.  They are
             identified by symbolic names of the form GL_FRAGMENT_LIGHTi_SGIX
             where 0 < i < GL_MAX_FRAGMENT_LIGHTS_SGIX.

     pname   Specifies a fragment 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
     glGetFragmentLight returns in params the value or values of a fragment
     light source parameter.  light names the fragment light and is a symbolic
     name of the form GL_FRAGMENT_LIGHTi_SGIX for 0 < i <
     GL_MAX_FRAGMENT_LIGHTS_SGIX, where GL_MAX_FRAGMENT_LIGHTS_SGIX is an
     implementation dependent constant.  pname specifies one of ten fragment
     light source parameters, again by symbolic name.

     The following parameters are defined:

     GL_AMBIENT          params returns four integer or floating-point values
                         representing the ambient intensity of the fragment
                         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. The
                         initial value is (0, 0, 0, 1).

     GL_DIFFUSE          params returns four integer or floating-point values
                         representing the diffuse intensity of the fragment
                         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. The
                         initial value for GL_FRAGMENT_LIGHT0_SGIX is (1, 1,
                         1, 1); for other fragment lights, the initial value
                         is (0, 0, 0, 0).

     GL_SPECULAR         params returns four integer or floating-point values
                         representing the specular intensity of the fragment
                         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. The
                         initial value for GL_FRAGMENT_LIGHT0_SGIX is (1, 1,
                         1, 1); for other fragment lights, the initial value
                         is (0, 0, 0, 0).

     GL_POSITION         params returns four integer or floating-point values
                         representing the position of the fragment 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 glFragmentLight,
                         unless the modelview matrix was identity at the time
                         glFragmentLight 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 fragment 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 glFragmentLight,
                         unless the modelview matrix was identity at the time
                         glFragmentLight was called.  Although spot direction
                         is normalized before being used in the fragment
                         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 fragment
                         light.  An integer value, when requested, is computed
                         by rounding the internal floating-point
                         representation 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
                         fragment light.  An integer value, when requested, is
                         computed by rounding the internal floating-point
                         representation 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 fragment 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
                         fragment light.  An integer value, when requested, is
                         computed by rounding the internal floating-point
                         representation 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
                         fragment 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_FRAGMENT_LIGHTi_SGIX =
     GL_FRAGMENT_LIGHT0_SGIX + 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 glGetFragmentLight is executed
     between the execution of glBegin and the corresponding execution of
     glEnd.


MACHINE DEPENDENCIES
     The SGIX_fragment_lighting extension is supported only on Octane2 VPro
     systems.

SEE ALSO
     glFragmentLight