manpagez: man pages & more
man glMaterial(3)
Home | html | info | man
glMaterial(3)                                                  glMaterial(3)




NAME

       glMaterialf, glMateriali, glMaterialfv, glMaterialiv - specify material
       parameters for the lighting model



C SPECIFICATION

       void glMaterialf( GLenum face,
                         GLenum pname,
                         GLfloat param )
       void glMateriali( GLenum face,
                         GLenum pname,
                         GLint param )



PARAMETERS

       face    Specifies which face or faces are being updated.  Must  be  one
               of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.

       pname   Specifies  the  single-valued material parameter of the face or
               faces that is being updated.  Must be GL_SHININESS.

       param   Specifies the value that parameter GL_SHININESS will be set to.


C SPECIFICATION

       void glMaterialfv( GLenum face,
                          GLenum pname,
                          const GLfloat *params )
       void glMaterialiv( GLenum face,
                          GLenum pname,
                          const GLint *params )



PARAMETERS

       face   Specifies which face or faces are being updated.  Must be one of
              GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.

       pname  Specifies the material parameter of the face or  faces  that  is
              being   updated.    Must   be  one  of  GL_AMBIENT,  GL_DIFFUSE,
              GL_SPECULAR, GL_EMISSION, GL_SHININESS,  GL_AMBIENT_AND_DIFFUSE,
              or GL_COLOR_INDEXES.

       params Specifies  a  pointer  to the value or values that pname will be
              set to.


DESCRIPTION

       glMaterial assigns  values  to  material  parameters.   There  are  two
       matched  sets  of  material  parameters.  One, the front-facing set, is
       used to shade points, lines, bitmaps, and all polygons (when  two-sided
       lighting  is  disabled),  or just front-facing polygons (when two-sided
       lighting is enabled).  The other set, back-facing,  is  used  to  shade
       back-facing polygons only when two-sided lighting is enabled.  Refer to
       the glLightModel reference page for details concerning  one-  and  two-
       sided lighting calculations.

       glMaterial  takes  three arguments.  The first, face, specifies whether
       the   GL_FRONT   materials,   the   GL_BACK    materials,    or    both
       GL_FRONT_AND_BACK materials will be modified.  The second, pname, spec-
       ifies which of several parameters in one or both sets will be modified.
       The  third,  params, specifies what value or values will be assigned to
       the specified parameter.

       Material parameters are used in the lighting equation that  is  option-
       ally  applied  to  each  vertex.   The  equation  is  discussed  in the
       glLightModel reference page.  The  parameters  that  can  be  specified
       using  glMaterial,  and their interpretations by the lighting equation,
       are as follows:

       GL_AMBIENT          params contains four integer or floating-point val-
                           ues  that  specify  the ambient RGBA reflectance of
                           the material.  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
                           reflectance for both front- and back-facing materi-
                           als is (0.2, 0.2, 0.2, 1.0).

       GL_DIFFUSE          params contains four integer or floating-point val-
                           ues that specify the diffuse  RGBA  reflectance  of
                           the  material.   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  diffuse
                           reflectance for both front- and back-facing materi-
                           als is (0.8, 0.8, 0.8, 1.0).

       GL_SPECULAR         params contains four integer or floating-point val-
                           ues  that  specify the specular RGBA reflectance of
                           the material.  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 specular
                           reflectance for both front- and back-facing materi-
                           als is (0, 0, 0, 1).

       GL_EMISSION         params contains four integer or floating-point val-
                           ues that specify the RGBA emitted  light  intensity
                           of  the  material.   Integer values are mapped lin-
                           early such that  the  most  positive  representable
                           value  maps  to  1.0,  and the most negative repre-
                           sentable value maps to -1.0.  Floating-point values
                           are mapped directly.  Neither integer nor floating-
                           point values are  clamped.   The  initial  emission
                           intensity for both front- and back-facing materials
                           is (0, 0, 0, 1).

       GL_SHININESS        params is a single integer or floating-point  value
                           that  specifies  the  RGBA specular exponent of the
                           material.  Integer and  floating-point  values  are
                           mapped  directly.  Only values in the range [0,128]
                           are accepted.  The initial  specular  exponent  for
                           both front- and back-facing materials is 0.

       GL_AMBIENT_AND_DIFFUSE
                           Equivalent  to  calling  glMaterial  twice with the
                           same parameter values,  once  with  GL_AMBIENT  and
                           once with GL_DIFFUSE.

       GL_COLOR_INDEXES    params  contains  three  integer  or floating-point
                           values specifying the color  indices  for  ambient,
                           diffuse,  and  specular lighting.  These three val-
                           ues, and GL_SHININESS, are the only material values
                           used  by  the  color  index mode lighting equation.
                           Refer to the glLightModel reference page for a dis-
                           cussion of color index lighting.


NOTES

       The  material  parameters  can  be updated at any time.  In particular,
       glMaterial can be called between a call to glBegin and the  correspond-
       ing  call  to  glEnd.   If  only  a  single material parameter is to be
       changed  per  vertex,  however,  glColorMaterial  is   preferred   over
       glMaterial (see glColorMaterial).

       While  the  ambient, diffuse, specular and emission material parameters
       all have alpha components, only the diffuse alpha component is used  in
       the lighting computation.


ERRORS

       GL_INVALID_ENUM is generated if either face or pname is not an accepted
       value.

       GL_INVALID_VALUE is generated if a specular exponent outside the  range
       [0,128] is specified.


ASSOCIATED GETS

       glGetMaterial


SEE ALSO

       glColorMaterial(3), glLight(3), glLightModel(3)



                                                                glMaterial(3)

Mac OS X 10.6 - Generated Thu Sep 17 20:20:25 CDT 2009
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.