Provided by: libvolpack1-dev_1.0b3-9_amd64 bug

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)