VolPack is a portable library of fast volume rendering algorithms that
produce high-quality images.
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... 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...