Man Linux: Main Page and Category List

NAME

       vpShadeTable - compute the contents of the shading lookup table

SYNOPSIS

       #include <volpack.h>

       vpResult
       vpShadeTable(vpc)
           vpContext *vpc;

ARGUMENTS

       vpc    VolPack context from vpCreateContext.

DESCRIPTION

       vpShadeTable   computes  the  contents  of  the  shading  lookup  table
       previously specified with vpLookupShader.  For each entry in the table,
       the  Phong  shading  equation  is  evaluated using the current lighting
       properties (as specified  with  vpSetLight),  material  properties  (as
       specified  with  vpSetMaterial),  and  viewing parameters (as specified
       with the view transformation commands).   See  vpSetMaterial(3)  for  a
       description of the shading calculation.

       This  function should be called before rendering a volume if any of the
       lighting or material properties have changed or if  the  viewpoint  has
       changed  since  the last call to vpShadeTable.  It should not be called
       if shading is performed using a callback function  or  if  the  shading
       lookup tables are initialized by a user-defined routine.

       There is one state variable that affects the operation of vpShadeTable.
       If VP_CLAMP_SHADE_TABLE is enabled (see vpEnable(3)), then  values  are
       clamped to the range 0.0-255.0 before they are stored in the table.  If
       this option is not enabled then no clamping is performed.  Clamping  is
       enabled  by  default, but can be turned off to achieve special effects.
       For example, if all of the voxels in a data set have very  low  opacity
       then the rendered image may be very dark.  To brighten it, multiply all
       of the material parameter coefficients by a constant,  possibly  making
       the values exceed 1.0, and turn off clamping.

ERRORS

       The  normal  return  value is VP_OK.  The following error return values
       are possible:

       VPERROR_SINGULAR
              One of the current view transformation matrices is singular.

       VPERROR_BAD_SHADER
              The shading lookup tables are sized incorrectly, or one  of  the
              voxel  fields used to index the tables is invalid, or the number
              of material types is invalid.

       VPERROR_BAD_SHADOW
              The angle between  the  shadow  light  vector  and  the  viewing
              direction  is  too large (must be less than 45 degrees).  Either
              change   the   light   direction   or   disable   shadows   (see
              vpSetShadowLookupShader).

SEE ALSO

       VolPack(3),           vpCreateContext(3),           vpCurrentMatrix(3),
       vpSetLookupShader(3), vpSetLight(3), vpSetMaterial(3)