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

NAME

       vpSetDepthCueing - set depth cueing parameters

SYNOPSIS

       #include <volpack.h>

       vpResult
       vpSetDepthCueing(vpc, front_factor, density)
           vpContext *vpc;
           double front_factor;
           double density;

ARGUMENTS

       vpc    VolPack context from vpCreateContext.

       front_factor
              Depth cueing factor at the front clipping plane.

       density
              Fog density.

DESCRIPTION

       vpSetDepthCueing  is  used  to set the parameters for depth cueing.  Depth cueing is a simulated fog that
       makes objects in the distance appear darker than foreground objects.  Depth cueing is independent of  the
       shading  method.  It can be used with lookup-table shading or callback-function shading.  Depth cueing is
       not stored in the shading lookup table; it is always applied to voxels at rendering time.

       The front_factor argument is the transparency of the fog at the front clipping plane (see vpWindow(3)  or
       vpWindowPHIGS(3)).   It  must  be a positive number and is usually less than 1.0 (although larger numbers
       can be used to brighten the foreground).  The  density  argument  controls  the  "density"  of  the  fog.
       Increasing  the density causes objects to recede into darkness over a shorter distance.  The equation for
       the transparency of the fog at a particular voxel is: T = front_factor  *  exp(-density  *  depth)  where
       depth  is  0 at the front clipping plane and 1 at the back clipping plane.  Each voxel color component is
       multiplied by the fog transparency during rendering.

       By default, depth cueing is not enabled.  To enable it, call vpEnable with the VP_DEPTH_CUE option.

       Depth cueing is implemented using an internal lookup table  (unrelated  to  the  shading  lookup  table).
       There  are  several  VolPack state variables that affect the depth cueing table, although they should not
       usually be changed.  The table contains depth cueing factors as a function  of  depth.   The  table  must
       contain  entries  for  depths  in  the range 0.0-1.0, and possibly for negative depths depending upon the
       current  viewing  parameters  (the  reason  for  this  is  beyond  the  scope  of  a  man   page).    The
       VP_DEPTH_CUE_QUANTIZATION  variable  (which can be set by calling vpSetd) determines the depth difference
       between two adjacent entries in the depth cueing table.  For instance, the default quantization of  1/255
       specifies  that  each  entry  in the table represents 1/255 times the distance between the front and back
       clipping planes.  Reducing the quantization increases the size and accuracy of the depth cueing table.

       Normally the depth cueing table is resized and recomputed only  when  necessary.   Recomputation  may  be
       required if the viewpoint changes, increasing the range of voxel depths that are encountered (recall that
       there  is  no  lower  bound  on  the  depth).   You can use vpGeti with the VP_DEPTH_CUE_TABLE_SIZE state
       variable  code  to  get  the  current  number  of  table  entries.   You  can  also  set  the  value   of
       VP_DEPTH_CUE_TABLE_SIZE_HINT  (using vpSeti) to suggest a size for the table.  This might be desirable if
       you plan to compute an animation loop and want to ensure that the depth cueing table does not need to  be
       recomputed  in  the  middle  of  the  sequence.   However,  since  recomputing  the  table  is relatively
       inexpensive, it should not be necessary to use this option.

STATE VARIABLES

       Information about the current depth cueing properties can be retrieved with the following state  variable
       codes  (see  vpGeti(3)): VP_DEPTH_CUE, VP_DEPTH_CUE_FRONT, VP_DEPTH_CUE_DENSITY, VP_DEPTH_CUE_TABLE_SIZE,
       VP_DEPTH_CUE_SIZE_HINT, VP_DEPTH_CUE_QUANTIZATION.

ERRORS

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

       VPERROR_BAD_VALUE
              The value of front_factor is not positive.

SEE ALSO

       VolPack(3), vpCreateContext(3), vpSetLookupShader(3)

VolPack                                                                                      vpSetDepthCueing(3)