View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# polygon mesh from voxels

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

6 replies to this topic

### #1blubberbert  Members

Posted 13 June 2011 - 02:16 PM

ive got a binary voxel grid, stored as 3 dimensional array of boolean values.
does anyone have an idea how to create a polygon mesh out of such a grid?
------------------------------
Join the revolution and get a free donut!

### #2Emergent  Members

Posted 13 June 2011 - 03:55 PM

"Marching cubes" is the standard answer here. "Marching tetrahedra" is a slightly simpler version of the same (fewer special cases). Both are for triangulating level sets of scalar fields. There are various ways you can produce a scalar field from your voxel grid. The standard answer here is linear interpolation; then you'd use marching cubes/tetrahedra to compute the 0.5-level-set. Linear interpolation, however, will create some artifacts, so you may want to use a higher-order scheme. Alternatively (or maybe equivalently, depending), you could consider blurring your data first.

### #3JTippetts  Moderators

Posted 13 June 2011 - 04:20 PM

You could take a look at PolyVox for a library that can do it for you.

### #4A Brain in a Vat  Members

Posted 13 June 2011 - 04:27 PM

He didn't say how we wanted to interpolate his data. You suggested linear or higher order, but for all we know he wants to keep it stepwise, a la Minecraft.

### #5Trienco  Members

Posted 13 June 2011 - 10:06 PM

He didn't say how we wanted to interpolate his data. You suggested linear or higher order, but for all we know he wants to keep it stepwise, a la Minecraft.

And everytime MC is brought up in a Voxel topic I want to voice my personal opinion that just because a game is limiting its geometry to cubes and rectangles doesn't make it a voxel game or engine. Voxels are the 3D equivalent of pixels and in my eyes that makes textured cubes as much a voxel as a textured rectangle is a pixel: not at all. It's drawing building blocks in a completely non-voxel way which just so happen to be >90% cubes. At no point will you see anything in MC where actual voxel data is converted to regular geometry for rendering, because everything already IS regular geometry from the start.
f@dzhttp://festini.device-zero.de

### #6A Brain in a Vat  Members

Posted 14 June 2011 - 09:13 AM

And everytime MC is brought up in a Voxel topic I want to voice my personal opinion that just because a game is limiting its geometry to cubes and rectangles doesn't make it a voxel game or engine. Voxels are the 3D equivalent of pixels and in my eyes that makes textured cubes as much a voxel as a textured rectangle is a pixel: not at all. It's drawing building blocks in a completely non-voxel way which just so happen to be >90% cubes. At no point will you see anything in MC where actual voxel data is converted to regular geometry for rendering, because everything already IS regular geometry from the start.

At no point in Super Mario Bros. will you see anything where actual pixel data is converted to anything. They're just shown on the screen.

I think you're attaching too much meaning to the term "voxel".

### #7Trienco  Members

Posted 14 June 2011 - 11:37 PM

I think you're attaching too much meaning to the term "voxel".

Well, since the term is hiding "volumetric picture _element_" in it, I simply don't consider a regular 3D mesh that happens to be cube shaped a "voxel", just like I don't consider a square sprite a "pixel" and calling it a "textured pixel" wouldn't help either. Besides, I doubt Notch at any point had the word "voxel" on his mind when he did MC. If it was supposed to be a voxel engine, it would be sad to see a 20 year old game like Comanche pushing a ton more "voxels" in software on a 50Mhz machine.

By watering down the word voxel to mean "anything with a lot of right angles and unit length edges" it just distracts from the more interesting "real voxel" topic that usually deals with a massive amount of data and ironically isn't even limiting itself to cubes when converting voxel data to geometry for rendering (or uses point sprites... can they still be sprites if they have no texture?) So technically I guess I simply feel that it hurts the actual voxel discussion by pretending that replacing every single voxel with a textured 3D mesh is a viable or even valid approach, especially when the only special handling is in culling the blocked faces of a cube.
f@dzhttp://festini.device-zero.de

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.