SYNOPSIS
#include <volpack.h>
vpResult
-
vpSetRawVoxels(vpc, voxels, size, xstride, ystride, zstride)
-
- vpContext *vpc;
- void *voxels;
- int size;
- int xstride, ystride, zstride;
ARGUMENTS
- vpc
- VolPack context from vpCreateContext.
- voxels
- 3D array of voxels.
- size
- Size of the voxel array in bytes.
- xstride
- Number of bytes from the beginning of one voxel to the beginning of the next voxel in the first array dimension.
- ystride
- Number of bytes from the beginning of one voxel to the beginning of the next voxel in the second array dimension.
- zstride
- Number of bytes from the beginning of one voxel to the beginning of the next voxel in the third array dimension.
DESCRIPTION
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 vpSetVolumeSize and the voxel size specified with vpSetVoxelSize. The data in the array may be initialized before or after calling vpSetRawVoxels.Some of the VolPack routines operate faster if the volume is stored in z-major order (xstride < ystride < zstride) but it is not strictly necessary.
The voxel array is not automatically deallocated when the context is destroyed with vpDestroyContext. The application is responsible for managing the memory associated with the volume array.
The voxel array can be a very large data structure, possibly larger than available main memory. It is sometimes possible to precompute the optimized data structures required for the fast rendering algorithm without explicitly allocating a voxel array. See vpClassifyScalars(3).
During the call to vpSetRawVoxels, any existing precomputed volume data structures in the context are destroyed.