|
Post by Kyle Gagner on Dec 29, 2011 22:43:16 GMT -5
BS2V uses the .vipc file format ( it may simply end in a .BS2V extension, but it is still .vipc). BS2V files are used to represent voxel data using my Bounded Space Sparse Voxels concept. The first 8 bytes (after the 8 byte .vipc header) represent two unsigned, 4 byte, big endian integers indicating the major and minor version. The rest of the file structure is dictated by the version.
Version 0 - 0: This version is capable of storing only 512 by 512 by 512 voxel worlds with fully opaque and transparent voxels. Opaque voxels may only be one of 128 colors and contain no normal data. After the .vipc and BS2V headers, the color palette is the first data. The color palette is a simple array of 3 byte values (r,g,b) with 128 entries. Colors for voxels are determined by retrieving the rgb values from a certain index. After the color palette comes the actual voxel data. Each voxel (opaque or transparent) is represented by one byte. The voxels are in a three dimensional array (x,y,z), for a total of 512^3 entries. The most significant bit in each byte determines opaque (1) or transparent (0). The last 7 bits of an opaque voxel are used to index the color palette, and the last 7 bits of a transparent voxel are used to indicate bounding box size (in voxel size units). The actual size is .5 larger than the size indicated.
An example of this file and a program to open it will be posted soon.
|
|