oracular (3) ShadeTable.3.gz

Provided by: libvolpack1-dev_1.0b3-10_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)