ffffggggllllGGGGeeeettttFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttffffvvvvSSSSGGGGIIIIXXXX,,,, ffffggggllllGGGGeeeettttFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhttttiiiivvvvSSSSGGGGIIIIXXXX - return fragment
GGGGLLLL____CCCCOOOONNNNSSSSTTTTAAAANNNNTTTT____AAAATTTTTTTTEEEENNNNUUUUAAAATTTTIIIIOOOONNNN, GGGGLLLL____LLLLIIIINNNNEEEEAAAARRRR____AAAATTTTTTTTEEEENNNNUUUUAAAATTTTIIIIOOOONNNN, and
ffffggggllllGGGGeeeettttFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhtttt returns in _p_a_r_a_m_s the value or values of a fragment
light source parameter. _l_i_g_h_t names the fragment light and is a symbolic
name of the form GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTi____SSSSGGGGIIIIXXXX for 0 _< i <
GGGGLLLL____MMMMAAAAXXXX____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTSSSS____SSSSGGGGIIIIXXXX, where GGGGLLLL____MMMMAAAAXXXX____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTSSSS____SSSSGGGGIIIIXXXX is an
implementation dependent constant. _p_n_a_m_e specifies one of ten fragment
light source parameters, again by symbolic name.
The following parameters are defined:
GGGGLLLL____AAAAMMMMBBBBIIIIEEEENNNNTTTT _p_a_r_a_m_s 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).
GGGGLLLL____DDDDIIIIFFFFFFFFUUUUSSSSEEEE _p_a_r_a_m_s returns four integer or floating-point values
representing the diffuse intensity of the fragment
_p_a_r_a_m_s 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.
NNNNOOOOTTTTEEEESSSS
It is always the case that GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTTi____SSSSGGGGIIIIXXXX =
GGGGLLLL____FFFFRRRRAAAAGGGGMMMMEEEENNNNTTTT____LLLLIIIIGGGGHHHHTTTT0000____SSSSGGGGIIIIXXXX + i.
If an error is generated, no change is made to the contents of _p_a_r_a_m_s.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _l_i_g_h_t or _p_n_a_m_e is not an accepted value.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ffffggggllllGGGGeeeettttFFFFrrrraaaaggggmmmmeeeennnnttttLLLLiiiigggghhhhtttt is executed
between the execution of ffffggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of