|
Post by Kyle Gagner on Dec 28, 2011 13:01:56 GMT -5
I'm going to make a simple proof of concept program to demonstrate Bounded Space Sparse Voxels (BS2V?), a recent idea of mine. In this implementation, a 512 by 512 by 512 voxel space will be represented by an array of single byte voxels. The most significant bit in each voxel will dictate whether it is transparent (0) or opaque (1). In the case of a transparent voxel, the next 7 bits will be an unsigned integer indicating the size of an imaginary box around this voxel. The voxel data will be generated such that each box will be as large as possible without containing any opaque voxels or going over the size limit for 7 bit integers. In the case of an opaque voxel, the last 7 bits will indicate a color chosen from a palette with 128 colors. So, if I use the .vipc file format, each data file should be exactly 134218120 bytes in size.
|
|
|
Post by Kyle Gagner on Dec 29, 2011 22:32:06 GMT -5
Things are proceeding as planned. I am almost finished with my first simple version. Currently I am having more problems with the file I am testing it on than the actual program, lol. It's a simple sphere, but I wrote the code in Python so it takes forever to render. I've decided to create a new BS2V file format for this project, but it conforms to the .vipc standard. The file includes an additional 8 bytes at the header for a major and minor version number (currently 0.0). The .vipc header is 4B 59 4C 45 42 53 32 56, in case you are wondering. This quick little proof of concept SHOULD be done tonight. I will post the code when I am done.
|
|
|
Post by Kyle Gagner on Feb 5, 2012 21:21:13 GMT -5
For those of you wondering (nobody) who read this forum (oh right, nobody), I ran into some bugs and got discouraged. But, I plan to try again using a new technique, ray marching. Basically, it will be like normal ray marching, but the distance field will be pre-computed and stored in a three dimensional scalar field.
|
|
|
Post by Kyle Gagner on May 27, 2012 17:30:38 GMT -5
By the way, if nobody was wondering, the whole concept is just flawed. Ray marching WORKED in the sense that it did what it was supposed to, but it looked horribly ugly.
|
|