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

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

glMaterial(3G)

Contents


NAME    [Toc]    [Back]

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

SYNOPSIS    [Toc]    [Back]

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

PARAMETERS    [Toc]    [Back]

       Specifies  which  face or faces are being updated. Must be
       one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.  Specifies
       the  single-valued material parameter of the face or faces
       that is being updated.  Must be  GL_SHININESS.   Specifies
       the value that parameter GL_SHININESS will be set to.

SYNOPSIS    [Toc]    [Back]

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

PARAMETERS    [Toc]    [Back]

       Specifies  which  face or faces are being updated. Must be
       one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.  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.  Specifies a pointer to the value  or
       values that pname will be set to.

DESCRIPTION    [Toc]    [Back]

       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, specifies 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 optionally 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:  params  contains  four integer or floating-point
       values 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. Floatingpoint
 values are  mapped  directly.  Neither  integer  nor
       floating-point  values  are  clamped.  The initial ambient
       reflectance for both front- and back-facing  materials  is
       (0.2,  0.2,  0.2,  1.0).   params contains four integer or
       floating-point  values  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
  materials  is  (0.8, 0.8, 0.8, 1.0).  params contains
       four integer or floating-point  values  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 materials is (0, 0, 0, 1).  params
       contains four integer or floating-point values that  specify
  the  RGBA  emitted  light  intensity 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 floatingpoint
 values are clamped.  The initial emission  intensity
       for both front- and back-facing materials is (0, 0, 0, 1).
       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.  Equivalent to calling glMaterial() twice with
       the same parameter values, once with GL_AMBIENT  and  once
       with  GL_DIFFUSE.  params contains three integer or floating-point
 values specifying the color indices for ambient,
       diffuse,  and  specular  lighting. These three values, and
       GL_SHININESS, are the only material  values  used  by  the
       color  index mode lighting equation. Refer to the glLightModel()
 reference page for a  discussion  of  color  index
       lighting.

NOTES    [Toc]    [Back]

       The  material  parameters  can  be updated at any time. In
       particular, glMaterial() can be called between a  call  to
       glBegin() and the corresponding 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    [Toc]    [Back]

       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    [Toc]    [Back]

       glGetMaterial()

SEE ALSO    [Toc]    [Back]

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



                                                   glMaterial(3G)
[ Back ]
 Similar pages
Name OS Title
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
glLightModeli Tru64 set the lighting model parameters
glLightModelfv Tru64 set the lighting model parameters
glLightModeliv Tru64 set the lighting model parameters
gllightmodel IRIX set the lighting model parameters
glLightModelf Tru64 set the lighting model parameters
glLightModel Tru64 set the lighting model parameters
glfragmentlightmodel IRIX set the lighting model parameters
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service