VolPack(3) introduction to VolPack, a library for volume rendering

SYNOPSIS

#include <volpack.h>

cc file.c -lvolpack -lm

DESCRIPTION

VolPack is a portable software library for volume rendering. It is based on a new family of fast volume rendering algorithms (see Philippe Lacroute and Marc Levoy, Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation, Proc. SIGGRAPH '94, in Computer Graphics, Annual Conference Series, 1994, pp. 451-458). For a tutorial introduction to the library see the VolPack User's Guide.

The following list includes all of the functions in the library grouped by general function, along with the corresponding man pages.

Rendering Contexts

vpCreateContext              vpCreateContext(3)

vpDestroyContext             vpCreateContext(3)

Volumes

vpSetVolumeSize              vpSetVolumeSize(3)

vpSetVoxelSize               vpSetVoxelSize(3)

vpSetVoxelField              vpSetVoxelField(3)

vpFieldOffset                vpSetVoxelField(3)

vpSetRawVoxels               vpSetRawVoxels(3)

vpVolumeNormals              vpVolumeNormals(3)

vpScanlineNormals            vpScanlineNormals(3)

vpNormalIndex                vpNormalIndex(3)

vpNormal                     vpNormalIndex(3)

Classified Volumes

vpSetClassifierTable         vpSetClassifierTable(3)

vpClassifyVolume             vpClassifyVolume(3)

vpDestroyClassifiedVolume    vpClassifyVolume(3)

vpClassifyScalars            vpClassifyScalars(3)

vpClassifyScanline           vpClassifyScanline(3)

Min-Max Octrees

vpCreateMinMaxOctree         vpCreateMinMaxOctree(3)

vpMinMaxOctreeThreshold      vpCreateMinMaxOctree(3)

vpDestroyMinMaxOctree        vpCreateMinMaxOctree(3)

vpOctreeMask                 vpOctreeMask(3)

View Transformations

vpCurrentMatrix              vpCurrentMatrix(3)

vpIdentityMatrix             vpIdentityMatrix(3)

vpTranslate                  vpTranslate(3)

vpRotate                     vpRotate(3)

vpScale                      vpScale(3)

vpMultMatrix                 vpMultMatrix(3)

vpSetMatrix                  vpSetMatrix(3)

vpWindow                     vpWindow(3)

vpWindowPHIGS                vpWindowPHIGS(3)

Shading and Lighting

vpSetLookupShader            vpSetLookupShader(3)

vpSetShadowLookupShader      vpSetShadowLookupShader(3)

vpSetLight                   vpSetLight(3)

vpSetMaterial                vpSetMaterial(3)

vpShadeTable                 vpShadeTable(3)

vpSetDepthCueing             vpSetDepthCueing(3)

Rendering

vpSetImage                   vpSetImage(3)

vpRenderClassifiedVolume     vpRenderRawVolume(3)

vpRenderRawVolume            vpRenderRawVolume(3)

State Variables

vpEnable                     vpEnable(3)

vpSeti                       vpSeti(3)

vpSetd                       vpSeti(3)

vpGeti                       vpGeti(3)

vpGetd                       vpGeti(3)

vpGetp                       vpGeti(3)

vpGetMatrix                  vpGetMatrix(3)

vpGetMaterial                vpGetvpSetMaterial(3)

vpGetLight                   vpGetvpSetLight(3)

vpSetCallback                vpSetCallback(3)

vpSetClientData              vpSetClientData(3)

File I/O

vpLoadClassifiedVolume       vpLoadRawVolume(3)

vpLoadMinMaxOctree           vpLoadRawVolume(3)

vpLoadRawVolume              vpLoadRawVolume(3)

vpLoadContext                vpLoadRawVolume(3)

vpStoreClassifiedVolume      vpStoreRawVolume(3)

vpStoreMinMaxOctree          vpStoreRawVolume(3)

vpStoreRawVolume             vpStoreRawVolume(3)

vpStoreContext               vpStoreRawVolume(3)

Utility Functions

vpRamp                       vpRamp(3)

vpExtract                    vpExtract(3)

vpTranspose                  vpTranspose(3)

vpResample                   vpResample(3)

vpSetFilter                  vpSetFilter(3)

vpBoxFilter                  vpBoxFilter(3)

vpLinearFilter               vpBoxFilter(3)

vpBicubicFilter              vpBoxFilter(3)

vpGaussianFilter             vpBoxFilter(3)

vpIdentity3                  LinearAlgebra(3)

vpIdentity4                  LinearAlgebra(3)

vpSetVector3                 LinearAlgebra(3)

vpSetVector4                 LinearAlgebra(3)

vpNormalize3                 LinearAlgebra(3)

vpMatrixVectorMult4          LinearAlgebra(3)

vpMatrixMult4                LinearAlgebra(3)

vpCrossProduct               LinearAlgebra(3)

vpSolveSystem4               LinearAlgebra(3)

Error Handling

vpGetError                   vpGetError(3)

vpGetErrorString             vpGetError(3)

Debugging

vpSetDebug                   vpSetDebug(3)

vpTracePixel                 vpTracePixel(3)

vpGetImage                   vpGetvpSetImage(3)

vpBruteForceRender           vpBruteForceRender(3)

DATA TYPES

The following data types are declared in the VolPack header file (volpack.h):
vpContext
An opaque handle for a rendering context. A context contains all of the information required to render a volume, including classification and shading parameters, the view transformation, a description of the format of the volume data, and private data structures used by the rendering routines.
vpResult
A result code. Most of the library routines return the code VP_OK upon successful completion, or an error code if the library call fails.
vpVector3
A three-element linear array of double-precision elements (double[3]).
vpVector4
A four-element linear array of double-precisions elements (double[4]).
vpMatrix3
A three-by-three array of double-precision elements (double[3][3]).
vpMatrix4
A four-by-four array of double-precision elements (double[4][4]).

AVAILABILITY

Source code and documentation for VolPack are available free via the World Wide Web (http://www-graphics.stanford.edu/software/volpack) or by anonymous ftp (ftp://graphics.stanford.edu/pub/volpack).