Sign in to follow this  
caldiar

Voxels

Recommended Posts

Im trying to wrap my mind around this whole voxel thing. It seems like it should be easier to get than I'm making it so I thought I'd come here to ask a few questions to help clarify what exactly a voxel is and how one goes about rendering them. First: - Is a voxel simply a pixel (1 unit wide and 1 unit tall on the XY plane) with an added 1 unit in depth on the Z plane? - How is rendering info gathered from voxels? For instance, how is it determined to draw a plane/triangle/shape based on the voxel information? I saw a diagram that shows colored planes drawn between every voxel to collectively form a cube formed from plane slices. If we removed one voxel from the first set of voxels, how does the plane created between the first and second set get affected? Is it split into 4 planes surrounding the missing voxel? I tried reading up on voxels at wikipedia and looked at other articles online but I still can't seem to get a firm understanding of the concept. Any help, as always, is greatly appreciated. Thanks!

Share this post


Link to post
Share on other sites
A voxel is literally a 3D analog of a pixel.

I think part of your issue is in expecting voxels to be intimately tied to a rendering technique, when it isnt at all.

There are many voxel rendering techniques, and even many voxel encoding strategies. Many old-school games used voxel terrains (pretty much equivilent to the heightmaps many games use today) but this is a very limited case of voxels.

Normally when a person uses the term voxels in todays times, they literally mean a 3D grid (...just as pixels are to a 2D grid)

A lot of voxel rendering techniques are closely held secrets because there is big money in it (medical imaging)

Share this post


Link to post
Share on other sites
So if a voxel is simply a 3D grid how is that different from the addition of the z buffer on videocards?

For instance, how is destructable terrain done with voxels?

Do we basically just create a number of planes to split 1 cell of the voxel grid and repeat for other cells to create an object?

Share this post


Link to post
Share on other sites
Quote:
Original post by caldiar
So if a voxel is simply a 3D grid how is that different from the addition of the z buffer on videocards?


The zbuffer is 2D.


You are missing the point I think.

Its *REALLY* a 3D grid, not a 2D grid with a depth value.

a zbuffer is just (for example) a 1024x768 array of floats

a simple voxel buffer (for example) would be 256x256x256 .. not 65536 elements, but 16,777,216 elements

Share this post


Link to post
Share on other sites
Excellent! Thank you for the reply. Voxels seem to make much more sense now.

I guess all I needed was to see a good visual explanation of how voxels work.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this