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