Voxels

Started by
2 comments, last by Fingers_ 17 years, 7 months ago
I had been doing some research in graphics and came across Voxels. I understand what the word means and take it to be like a 3D arragment of screen elements where instead of having an (x,y) arrangement of pixels there is an (x,y,z) arrangement of voxels. When are they used? What for? Are there any benefits to using Voxels as opposed other rendering techniques?
Advertisement
Voxels allow for things like deformable terrain or any other algorithm that you could apply to a 2D bitmap. The drawback is that it's quite memory intensive, a 1024^3 voxel world would already require a gigabyte of memory and still have little detail. I think when more memory becomes avaiable (as in, 'a couple of trillion gigabytes') and the algorithms get improved this technique or some variation of it may eventually replace polygon rendering.

Anyway, have a look at Ken Silverman's work (who also wrote the Build engine, which was used for Duke Nukem 3D and other games).
Ken Silverman's Voxlap Page
Voxels do not necesarrialy Oppose polygon rendering.
They mainly describe the data representation of the object
some games have succesfully represented their terrain as voxels, then to render they perform Marching Cubes algorithm to calculated the bounding surface of the object as polygons.
Indeed Voxels aren't a rendering technique, but a way to store geometry in 3D... Voxels are just pixels in a 3D bitmap. The most common real-world application is medical imaging (CT-scans and NMRI).

The voxel data can be displayed in different ways, including the marching cubes algorithm which generates polygons from the voxel data, that can be easily rendered on a computer. Modern GPU's also allow actual 3D textures to be created so it's possible to directly render "slices" of the 3D data as long as it'll fit in the graphics card's memory.

In the 90's there were a number of games using a software renderer to display "voxel" heightmap terrains (with a kind of ray-tracing algorithm) but the idea was largely discarded as polygon-based 3D rendering hardware became more common. Lately the technique has reappeared, now implemented on the GPU with a pixel shader; this is known as parallax mapping.

This topic is closed to new replies.

Advertisement