Re: volumizer 1.2

New Message Reply Date view Thread view Subject view Author view

Dave Akers (dla)
Fri, 3 Dec 1999 14:29:10 -0800


On Fri, 3 Dec 1999, Werner Wohlfahrter wrote:

> Hi!
>
> Will volumizer 1.2 still be available at Dezember 15th??
> I'm very interessted in the Voxel Modification possiblilities in
> Volumizer 1.2.
> How can I get more information about that??
>
> thanks ww :)
>

Werner,

  Volumizer 1.2 is currently scheduled to web release on December 20th.
While you wait, here's some information on the voxel modification routines
that will be available... :) Let me know if you still have any questions..

-Dave

---------------

Version 1.2 of Volumizer provides interfaces for reading and modifying
voxels after they have been loaded into memory. The following five methods
are provided to facilitate this functionality. Each function is
implemented both for voBrickSets and voBrickSetCollections:

void initSubVolume (int *origin, int *size, void *value);
void setSubVolume (int *origin, int *size, void *values);
void getSubVolume (int *origin, int *size, void *values);
void setVoxel (int x, int y, int z, void *value);
void *getVoxelAddr (int x, int y, int z);

initSubVolume() sets a region of voxel data to the single value pointed to
by 'value'. This function is the equivalent of the memset operation for
volume data. 'origin' and 'size' specify the origin and size of the
initialization in global voxel coordinates. The function marks the
affected bricks as dirty so that they will be reloaded into texture
memory. 'value' should be formatted according to the external format of
your data.

setSubVolume() replaces a hexahedral region of voxel data with new texture
pointed to by 'values'. This function is an equivalent of the memcpy
operation for volume data. 'origin' and 'size' specify the origin and size
of the copy in global voxel coordinates. The function marks the affected
bricks as dirty so that they will be reloaded into texture memory.
'values' must be non-interleaved, but otherwise should be formatted
according to the external format of the data.

getSubVolume() retrieves a hexahedral region of voxel data, copying it
into the location pointed to by 'values'. This function is an equivalent
of the memcpy operation for volume data. 'origin' and 'size' specify the
origin and size of the copy in global voxel coordinates. The data returned
in 'values' will be non-interleaved, but otherwise will be formatted
according to the external format of the data.

setVoxel() sets the voxel at voxel coordinates (x,y,z) to the value
specified. 'value' should be formatted according to the external format of
your data.

getVoxelAddr() returns a memory address that points to the voxel at
coordinates (x,y,z). Since bricks may overlap, it is possible for a single
voxel to be contained in up to eight separate memory locations. This
routine is guaranteed to return one of these locations. Applications
should cast the pointer returned according to the external format of the
data before using it.


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Fri Dec 03 1999 - 17:13:08 PST