Package volpack

Portable library for fast volume rendering

http://amide.sourceforge.net

VolPack is a portable library of fast volume rendering algorithms that
produce high-quality images.

Library Functions (Section 3)
LinearAlgebra
These routines form a simple linear algebra package used internally by VolPack. The routines are also available as utility routines for use by the application...
VolPack
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...
vpBoxFilter
These routines can be used to initialize filter weight tables for use with vpSetFilter and vpResample. See the vpSetFilter man page for information on the...
vpBruteForceRender
This function is for debugging purposes only. It performs the same function as vpRenderRawVolume, but uses a simpler, very inefficient algorithm. The two...
vpClassifyScalars
vpClassifyScalars combines the functionality of vpVolumeNormals and vpClassifyVolume to produce a preclassified volume directly from a 3D array of scalar values...
vpClassifyScanline
vpClassifyScanline is used to incrementally compute a preclassified volume by classifying one scanline of voxels and storing the result in the current...
vpClassifyVolume
vpClassifyVolume is used to compute a preclassified volume for the fast rendering algorithm. The preclassified volume is an internal data structure optimized...
vpCreateContext
vpCreateContext returns a handle for a new rendering context. It contains default values for most of the rendering parameters. vpDestroyContext destroys a...
vpCreateMinMaxOctree
These routines are used to create and destroy a min-max octree, an internal data structure that is used to accelerate classifying and rendering volume data in a...
vpCurrentMatrix
vpCurrentMatrix is used to choose the current transformation matrix.
vpEnable
vpEnable is used to enable or disable boolean options in a rendering context. If the value option is 0 then the option is disabled; otherwise it is enabled.
vpExtract
vpExtract is used to extract one field from a rectangular region of the 3D voxel array or the preclassified volume and store the result in a separate array. It...
vpGetError
These routines are used for error handling. vpGetError return the error code from the first function call that failed since the last call to vpGetError...
vpGeti
These functions are used the get the values of integer-, double- or pointer-valued state variables in a rendering context. The following list summarizes the...
vpGetImage
This is a debugging function. It is used to retrieve the contents of one of the temporary rendering buffers used during rendering, namely the intermediate image...
vpGetLight
vpGetLight is used to get the properties of a light source. The arguments are exactly analogous to vpSetLight except that the final three arguments are pointers...
vpGetMaterial
vpGetMaterial is used to get the properties of a material type. The arguments are exactly analogous to vpSetMaterial except that the surface_side argument may...
vpGetMatrix
vpGetMatrix retrieves the contents of one of the transformation matrices (see vpCurrentMatrix(3)). The special code VP_SCREEN causes the function to compute the...
vpGetTimer
These functions are used for measuring the performance of the VolPack library. To use them, the library must be compiled with a special flag: either...
vpIdentityMatrix
vpIdentityMatrix is used to load a 4-by-4 identity matrix into the current transformation matrix. Use vpCurrentMatrix to set the current transformation matrix.
vpLoadRawVolume
These functions are used to load volume data structures into a rendering context from files in the format written by the VolPack file storing routines (see...
vpMultMatrix
vpMultMatrix is used to multiply the current transformation matrix by an arbitrary 4-by-4 transformation matrix. Use vpCurrentMatrix to set the current...
vpNormalIndex
These two routines are used to convert surface normal vectors between encoded and unencoded forms. An unencoded vector is described by its three components...
vpOctreeMask
vpOctreeMask is used for performance debugging when rendering volumes with a min-max octree. During rendering the min-max octree is used to help determine which...
vpRamp
vpRamp is a utility routine for initializing linear arrays of floating-point numbers with piecewise-linear ramps. A ramp is defined by a set of (x, y) pairs...
vpRenderRawVolume
These routines are used to render a volume using the parameters in a rendering context. vpRenderRawVolume renders the data in the current voxel array and stores...
vpResample
vpResample is used to resample an array to a new grid with a different resolution. It can be used to scale up or decimate an array of volume data, for instance...
vpRotate
vpRotate is used to multiply the current transformation matrix by a 4-by-4 rotation matrix.
vpScale
vpScale is used to multiply the current transformation matrix by a 4-by-4 scaling matrix. The arguments specify independent scale factors for each of the three...
vpScanlineNormals
vpScanlineNormals is used to precompute values for voxel fields used in classification and shading algorithms. The input is a collection of 5 adjacent 1D arrays...
vpSetCallback
vpSetCallback is used to set a callback function.
vpSetClassifierTable
vpSetClassifierTable is used to specify lookup tables that define an opacity transfer function. The opacity transfer function must be of the form:opacity =...
vpSetClientData
vpSetClientData is used to store a pointer to application-specific client data in the VolPack context. This pointer is passed to some of the callback routines...
vpSetDebug
vpSetDebug is used to enable or disable a debugging option in a rendering context. The debugging options cause messages to be printed during execution. These...
vpSetDepthCueing
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...
vpSetFilter
vpSetFilter is used to specify a table of filter weights before resampling an array with vpResample. The table can be used to specify an arbitrary separable...
vpSeti
These functions are used to set the values of integer- or double-valued options in a rendering context.
vpSetImage
vpSetImage is used to specify a buffer for storing the result image during rendering. The width and height parameters specify the size of the result image. The...
vpSetLight
vpSetLight is used to set the properties of a light source. VolPack currently only supports directional light sources: each light is infinitely distant, so it...
vpSetLookupShader
vpSetLookupShader is used to specify lookup tables that define a shading function. The lookup-table shading algorithm provided by VolPack is designed to support...
vpSetMaterial
vpSetMaterial is used to set the properties of a material type. Each voxel may be composed of a mixture of several different material types, as described in...
vpSetMatrix
vpSetMatrix is used to load a 4-by-4 transformation matrix into the current transformation matrix. Use vpCurrentMatrix to set the current transformation matrix.
vpSetRawVoxels
vpSetRawVoxels is used to specify a 3D array that contains the volume data. The array must be large enough for the volume dimensions specified with...
vpSetShadowLookupShader
vpSetShadowLookupShader is used to specify lookup tables that define a shading function for rendering a volume with shadows. It should be used instead of...
vpSetVolumeSize
vpSetVolumeSize is used to define the dimensions of a volume. It must be called before volume data is loaded into a rendering context. Any existing precomputed...
vpSetVoxelField
vpSetVoxelField is used to define the size and location of each field in a voxel. Once you have chosen the sizes and order for the voxel fields, call...
vpSetVoxelSize
vpSetVoxelSize is used to define the size in bytes and the number of fields in a voxel. Each voxel field is analogous to a field in a C structure and the...
vpShadeTable
vpShadeTable computes the contents of the shading lookup table previously specified with vpLookupShader. For each entry in the table, the Phong shading equation...
vpStoreRawVolume
These functions are used to store volume data structures from a rendering context into files in the format read by the VolPack file reading routines (see...
vpTracePixel
This routine is for debugging the rendering algorithms. If (trace_u, trace_v) is a valid set of coordinates in the intermediate image then a printout appears...
vpTranslate
vpTranslate is used to multiply the current transformation matrix by a 4-by-4 translation matrix. The translation matrix is: 1 0 0 tx 0 1 0 ty 0 0 1 tz 0 0 0 1...
vpTranspose
vpTranspose is used to transpose the 3D voxel array to optimize the memory stride for a particular principal viewing axis. The intended way to use this function...
vpVolumeNormals
vpVolumeNormals is used to precompute values for voxel fields used in classification and shading algorithms. The input is a 3D array of scalar values; a...
vpWindow
vpWindow is used to multiply the current projection matrix by a perspective or orthographic projection matrix. The new projection matrix is defined by the...
vpWindowPHIGS
vpWindowPHIGS is used to multiply the current projection matrix by a viewing and projection matrix specified by means of the PHIGS viewing model. This model...