Jump to content

  • Log In with Google      Sign In   
  • Create Account

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.

  • You cannot reply to this topic
6 replies to this topic

#1 blubberbert   Members   -  Reputation: 236

Like
0Likes
Like

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!

Sponsor:

#2 Emergent   Members   -  Reputation: 971

Like
0Likes
Like

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.

#3 JTippetts   Moderators   -  Reputation: 8490

Like
1Likes
Like

Posted 13 June 2011 - 04:20 PM

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

#4 A Brain in a Vat   Members   -  Reputation: 313

Like
0Likes
Like

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.

#5 Trienco   Crossbones+   -  Reputation: 2171

Like
1Likes
Like

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

#6 A Brain in a Vat   Members   -  Reputation: 313

Like
0Likes
Like

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".

#7 Trienco   Crossbones+   -  Reputation: 2171

Like
-1Likes
Like

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.



PARTNERS