# EZ_DefineLightModel

##

##

##

##

##

    NAME
           EZ_DefineLightModel, EZ_BindLightModel - define a lighting
           model

    SYNOPSIS
           #include <EZ.h>

           EZ_LightModel *EZ_DefineLightModel(float *parameters)
           void EZ_BindLightModel(EZ_LightModel *lmodel)

    ARGUMENTS
           parameters  Specifies material properties.

           lmodel Specifies a pre-defined lighting model.

    DESCRIPTION
           EZ_DefineLightModel defines a lighting model based on  the
           specified parameters. The defined lighting model can later
           be bind the current lighting model.

           parameters specifies an array of  floating  point  symbols
           and  values  that  defines  the lighting model properties.
           parameters must contain a sequence  of  lighting  symbols,
           each  followed by the appropriate number of floating point
           values.  The last  symbol  must  be  EZ_NULL_F,  which  is
           itself not followed by any values.

           The symbols are:

              EZ_LIGHT_MODEL_AMBIENT_F specifies the ambient color of
              the lighting model, Must followed by 4  floats  in  the
              range [0.0, 1.0] that specify the intensity of the RGBA
              components of the ambient color.

              EZ_LIGHT_MODEL_LOCAL_VIEWER_F specifies whether reflec-
              tion   calculations  are  done  based  on  a  local  or
              infinitely distant viewpoint.  It must be followed by a
              single  floating  point value, which must be either 0.0
              or 1.0.

              EZ_LIGHT_MODEL_TWO_SIDE_F  specifies  whether  lighting
              calculations  are  done  assuming that only frontfacing
              polygons are visible, or are corrected for each polygon
              based  on  whether  it is frontfacing or backfacing. It
              must be followed by  a  single  floating  point  value,
              which  must  be either 0.0 or 1.0. The value 1.0 speci-
              fies a lighting model that is correct for  both  front-
              facing  and  backfacing  polygons. In this case, vertex
              normals are reversed for  all  vertices  of  backfacing
              polygons  and  the back-material is used to color back-
              facing polygons.

           EZ_BindLightModel binds the specified pre-defined lighting
           model to the current lighting model.

    SEE ALSO
           EZ_DefineLightSrc(3),  EZ_DefineMaterial(3), EZ_BindLightSrc(3)
           , EZ_BindMaterial(3)