Skip to main content
gamedev.net
🔒 Locked

compressing voxel data

Started by chosendl Jan 23, 2008 at 2:44 PM 1 replies 2.1k views
Original Post
chosendl
chosendl
So I was thinking about ways to minimize the amount of voxel data required, in other words ways of compressing voxel data. What I thought of so far, is using a kind of quad tree for blank areas in the 3d world. Whereby if 8 small voxels are all blank, one larger blank voxel with dimensions of 2x2x2 is formed in memory and then 8 of these larger blank voxels, and so on. So any rays or whatever, would first traverse the large voxels, and if it is blank can skip right over it, if it is not blank, check the next level of smaller voxels it contains and so on. In this way not only do you have much much less information to store, but also alot less voxel space to traverse, which means less calculations. This was my ideas so for, any body care to expand or provide some other good ideas?
wolf
wolf
if you have ShaderX handy, you might check out the volume article in there. This gives you a lot of references to research of the beginning of this century about volumes and voxels.
spacerat
spacerat
Here is a paper about this issue:
Lossless Volume Data Compression Schemes

However, in case of voxels the compression ratio for the tested algorithms might be different to volume data. Also important is compression/uncompression speed.
So far, RLE combined with zlib seem to be a good way for lossless compression.
If you also consider lossy compression, Wavelet might be better..

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.