*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> glLightModel (3)              
Title
Content
Arch
Section
 

glLightModel(3G)

Contents


NAME    [Toc]    [Back]

       glLightModel,  glLightModelf,  glLightModeli,  glLightModelfv,
 glLightModeliv - set the lighting model parameters

SYNOPSIS    [Toc]    [Back]

       void glLightModelf(
               GLenum pname,
               GLfloat param ); void glLightModeli(
               GLenum pname,
               GLint param );

PARAMETERS    [Toc]    [Back]

       Specifies  a  single-valued  lighting   model   parameter.
       GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL,
       and GL_LIGHT_MODEL_TWO_SIDE are accepted.   Specifies  the
       value that param will be set to.

SYNOPSIS    [Toc]    [Back]

       void glLightModelfv(
               GLenum pname,
               const GLfloat *params ); void glLightModeliv(
               GLenum pname,
               const GLint *params );

PARAMETERS    [Toc]    [Back]

       Specifies       a      lighting      model      parameter.
       GL_LIGHT_MODEL_AMBIENT,      GL_LIGHT_MODEL_COLOR_CONTROL,
       GL_LIGHT_MODEL_LOCAL_VIEWER,  and  GL_LIGHT_MODEL_TWO_SIDE
       are accepted.  Specifies a pointer to the value or  values
       that params will be set to.

DESCRIPTION    [Toc]    [Back]

       glLightModel()  sets  the lighting model parameter.  pname
       names a parameter and params gives the  new  value.  There
       are  three lighting model parameters: params contains four
       integer or floating-point values that specify the  ambient
       RGBA  intensity  of  the  entire scene. Integer values are
       mapped linearly such that the most positive  representable
       value  maps  to  1.0,  and the most negative representable
       value maps  to  -1.0.  Floating-point  values  are  mapped
       directly.  Neither  integer  nor floating-point values are
       clamped.  The initial ambient  scene  intensity  is  (0.2,
       0.2,  0.2, 1.0).  params must be either GL_SEPARATE_SPECULAR_COLOR
 or GL_SINGLE_COLOR.   GL_SINGLE_COLOR  specifies
       that  a single color is generated from the lighting computation
 for a vertex.  GL_SEPARATE_SPECULAR_COLOR specifies
       that  the specular color computation of lighting be stored
       separately from the remainder of the lighting computation.
       The specular color is summed into the generated fragment's
       color  after  the  application  of  texture  mapping   (if
       enabled).   The  initial value is GL_SINGLE_COLOR.  params
       is a single integer or floating-point value that specifies
       how  specular reflection angles are computed. If params is
       0 (or 0.0),  specular  reflection  angles  take  the  view
       direction to be parallel to and in the direction of the -z
       axis, regardless of the location  of  the  vertex  in  eye
       coordinates.  Otherwise, specular reflections are computed
       from the origin of the eye coordinate system. The  initial
       value  is 0.  params is a single integer or floating-point
       value that specifies whether one-  or  two-sided  lighting
       calculations  are  done  for polygons. It has no effect on
       the lighting calculations for points, lines,  or  bitmaps.
       If  params is 0 (or 0.0), one-sided lighting is specified,
       and only the front material parameters  are  used  in  the
       lighting equation. Otherwise, two-sided lighting is specified.
  In this case, vertices of back-facing polygons  are
       lighted using the back material parameters, and have their
       normals reversed before the lighting  equation  is  evaluated.
 Vertices of front-facing polygons are always lighted
       using the front material parameters,  with  no  change  to
       their normals. The initial value is 0.

       In  RGBA mode, the lighted color of a vertex is the sum of
       the material emission intensity, the product of the  material
 ambient reflectance and the lighting model full-scene
       ambient intensity, and the contribution  of  each  enabled
       light  source.  Each  light  source contributes the sum of
       three terms: ambient, diffuse, and specular.  The  ambient
       light  source  contribution is the product of the material
       ambient reflectance and  the  light's  ambient  intensity.
       The  diffuse  light  source contribution is the product of
       the material  diffuse  reflectance,  the  light's  diffuse
       intensity, and the dot product of the vertex's normal with
       the normalized vector from the vertex to the light source.
       The  specular  light source contribution is the product of
       the material specular reflectance,  the  light's  specular
       intensity,  and  the dot product of the normalized vertexto-eye
 and vertex-to-light vectors, raised to the power of
       the shininess of the material. All three light source contributions
 are attenuated equally based  on  the  distance
       from  the  vertex  to the light source and on light source
       direction, spread exponent, and spread cutoff  angle.  All
       dot  products  are  replaced  with 0 if they evaluate to a
       negative value.

       The alpha component of the resulting lighted color is  set
       to the alpha value of the material diffuse reflectance.

       In  color  index mode, the value of the lighted index of a
       vertex ranges from the  ambient  to  the  specular  values
       passed to glMaterial() using GL_COLOR_INDEXES. Diffuse and
       specular coefficients, computed with  a  (.30,  .59,  .11)
       weighting  of  the  lights'  colors,  the shininess of the
       material, and the same reflection  and  attenuation  equations
  as in the RGBA case, determine how much above ambient
 the resulting index is.

NOTES    [Toc]    [Back]

       GL_LIGHT_MODEL_COLOR_CONTROL is available only if  the  GL
       version is 1.2 or greater.

ERRORS    [Toc]    [Back]

       GL_INVALID_ENUM  is  generated if pname is not an accepted
       value.

       GL_INVALID_ENUM    is    generated     if     pname     is
       GL_LIGHT_MODEL_COLOR_CONTROL  and  params  is  not  one of
       GL_SINGLE_COLOR or GL_SEPARATE_SPECULAR_COLOR.

       GL_INVALID_OPERATION is  generated  if  glLightModel()  is
       executed between the execution of glBegin() and the corresponding
 execution of glEnd().






ASSOCIATED GETS    [Toc]    [Back]

       glGet() with argument GL_LIGHT_MODEL_AMBIENT
       glGet() with argument GL_LIGHT_MODEL_COLOR_CONTROL
       glGet() with argument GL_LIGHT_MODEL_LOCAL_VIEWER
       glGet() with argument GL_LIGHT_MODEL_TWO_SIDE
       glIsEnabled() with argument GL_LIGHTING

SEE ALSO    [Toc]    [Back]

      
      
       glLight(3), glMaterial(3)



                                                 glLightModel(3G)
[ Back ]
 Similar pages
Name OS Title
glMateriali Tru64 specify material parameters for the lighting model
glMaterialf Tru64 specify material parameters for the lighting model
glmaterial IRIX specify material parameters for the lighting model
glMaterial Tru64 specify material parameters for the lighting model
glMaterialfv Tru64 specify material parameters for the lighting model
glMaterialiv Tru64 specify material parameters for the lighting model
glfragmentmaterial IRIX specify fragment material parameters for the fragment lighting model
lmbind IRIX selects a new material, light source, or lighting model
lmdef IRIX defines or modifies a material, light source, or lighting model
numeric IRIX 0- return scalar values related to parameters of an associated model
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service