VolPack - Man Page

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

vpCreateContextvpCreateContext(3)
vpDestroyContextvpCreateContext(3)

Volumes

vpSetVolumeSizevpSetVolumeSize(3)
vpSetVoxelSizevpSetVoxelSize(3)
vpSetVoxelFieldvpSetVoxelField(3)
vpFieldOffsetvpSetVoxelField(3)
vpSetRawVoxelsvpSetRawVoxels(3)
vpVolumeNormalsvpVolumeNormals(3)
vpScanlineNormalsvpScanlineNormals(3)
vpNormalIndexvpNormalIndex(3)
vpNormalvpNormalIndex(3)

Classified Volumes

vpSetClassifierTablevpSetClassifierTable(3)
vpClassifyVolumevpClassifyVolume(3)
vpDestroyClassifiedVolumevpClassifyVolume(3)
vpClassifyScalarsvpClassifyScalars(3)
vpClassifyScanlinevpClassifyScanline(3)

Min-Max Octrees

vpCreateMinMaxOctreevpCreateMinMaxOctree(3)
vpMinMaxOctreeThresholdvpCreateMinMaxOctree(3)
vpDestroyMinMaxOctreevpCreateMinMaxOctree(3)
vpOctreeMaskvpOctreeMask(3)

View Transformations

vpCurrentMatrixvpCurrentMatrix(3)
vpIdentityMatrixvpIdentityMatrix(3)
vpTranslatevpTranslate(3)
vpRotatevpRotate(3)
vpScalevpScale(3)
vpMultMatrixvpMultMatrix(3)
vpSetMatrixvpSetMatrix(3)
vpWindowvpWindow(3)
vpWindowPHIGSvpWindowPHIGS(3)

Shading and Lighting

vpSetLookupShadervpSetLookupShader(3)
vpSetShadowLookupShadervpSetShadowLookupShader(3)
vpSetLightvpSetLight(3)
vpSetMaterialvpSetMaterial(3)
vpShadeTablevpShadeTable(3)
vpSetDepthCueingvpSetDepthCueing(3)

Rendering

vpSetImagevpSetImage(3)
vpRenderClassifiedVolumevpRenderRawVolume(3)
vpRenderRawVolumevpRenderRawVolume(3)

State Variables

vpEnablevpEnable(3)
vpSetivpSeti(3)
vpSetdvpSeti(3)
vpGetivpGeti(3)
vpGetdvpGeti(3)
vpGetpvpGeti(3)
vpGetMatrixvpGetMatrix(3)
vpGetMaterialvpGetvpSetMaterial(3)
vpGetLightvpGetvpSetLight(3)
vpSetCallbackvpSetCallback(3)
vpSetClientDatavpSetClientData(3)

File I/O

vpLoadClassifiedVolumevpLoadRawVolume(3)
vpLoadMinMaxOctreevpLoadRawVolume(3)
vpLoadRawVolumevpLoadRawVolume(3)
vpLoadContextvpLoadRawVolume(3)
vpStoreClassifiedVolumevpStoreRawVolume(3)
vpStoreMinMaxOctreevpStoreRawVolume(3)
vpStoreRawVolumevpStoreRawVolume(3)
vpStoreContextvpStoreRawVolume(3)

Utility Functions

vpRampvpRamp(3)
vpExtractvpExtract(3)
vpTransposevpTranspose(3)
vpResamplevpResample(3)
vpSetFiltervpSetFilter(3)
vpBoxFiltervpBoxFilter(3)
vpLinearFiltervpBoxFilter(3)
vpBicubicFiltervpBoxFilter(3)
vpGaussianFiltervpBoxFilter(3)
vpIdentity3LinearAlgebra(3)
vpIdentity4LinearAlgebra(3)
vpSetVector3LinearAlgebra(3)
vpSetVector4LinearAlgebra(3)
vpNormalize3LinearAlgebra(3)
vpMatrixVectorMult4LinearAlgebra(3)
vpMatrixMult4LinearAlgebra(3)
vpCrossProductLinearAlgebra(3)
vpSolveSystem4LinearAlgebra(3)

Error Handling

vpGetErrorvpGetError(3)
vpGetErrorStringvpGetError(3)

Debugging

vpSetDebugvpSetDebug(3)
vpTracePixelvpTracePixel(3)
vpGetImagevpGetvpSetImage(3)
vpBruteForceRendervpBruteForceRender(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).

See Also

VolPack User's Guide

Referenced By

LinearAlgebra(3), vpBoxFilter(3), vpBruteForceRender(3), vpClassifyScalars(3), vpClassifyScanline(3), vpClassifyVolume(3), vpCreateContext(3), vpCreateMinMaxOctree(3), vpCurrentMatrix(3), vpEnable(3), vpExtract(3), vpGetError(3), vpGeti(3), vpGetImage(3), vpGetLight(3), vpGetMaterial(3), vpGetMatrix(3), vpGetTimer(3), vpIdentityMatrix(3), vpLoadRawVolume(3), vpMultMatrix(3), vpNormalIndex(3), vpOctreeMask(3), vpRamp(3), vpRenderRawVolume(3), vpResample(3), vpRotate(3), vpScale(3), vpScanlineNormals(3), vpSetCallback(3), vpSetClassifierTable(3), vpSetClientData(3), vpSetDebug(3), vpSetDepthCueing(3), vpSetFilter(3), vpSeti(3), vpSetImage(3), vpSetLight(3), vpSetLookupShader(3), vpSetMaterial(3), vpSetMatrix(3), vpSetRawVoxels(3), vpSetShadowLookupShader(3), vpSetVolumeSize(3), vpSetVoxelField(3), vpSetVoxelSize(3), vpShadeTable(3), vpStoreRawVolume(3), vpTracePixel(3), vpTranslate(3), vpTranspose(3), vpVolumeNormals(3), vpWindow(3), vpWindowPHIGS(3).