---
name: "VolPack"
section: "3"
platform: "linux"
package: "libvolpack1-dev"
version: "1.0b3-10"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/VolPack"
---

# VolPack(3)

introduction to VolPack, a library for volume rendering

## NAME

VolPack - 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).

## SEE ALSO

*VolPack User's Guide*
