Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Why does Minecraft use polygons to draw the world terrain instead of voxels? Would a voxel based rendering engine be appropriate for a fully destructible game world built out of cubes like Minecraft? Would it be more efficient than using polygons?

share|improve this question
    
What makes you think Minecraft doesn't use what is essentially a voxel representation of its world? I mean, what is your source for that statement? I always assumed it did. –  Josh Petrie May 5 '11 at 16:06
    
minecraftwiki.net/wiki/Map - Specifically: "Minecraft uses a voxel system which is an incremental 3D grid in which each grid point holds data for a single block." –  Ray Dey May 5 '11 at 16:15
5  
While Minecraft does use a voxel representation of the world, it is rendered using polygons. My question was why he didn't write a voxel renderer. –  da code monkey May 5 '11 at 16:32
    
My mistake, I misunderstood –  Ray Dey May 5 '11 at 16:35
1  
voxel rendering using ray casting on the gpu is totally possible with today (or yesterday) gpus. With clever acc structs (which are simple for voxels) and clever memory usage you should be able to render incredible huge scene in realtime. –  Notabene May 5 '11 at 21:43
show 1 more comment

1 Answer

up vote 21 down vote accepted

Why does Minecraft use polygons to draw the world terrain instead of voxels?

Graphics hardware works with and renders triangles, so you have to use triangles if you want hardware acceleration. Most voxel renderers employ something like Marching Cubes to extract a polygonal mesh from a voxel representation and present that; direct volume rendering is typically computational expensive.

Would a voxel based rendering engine be appropriate for a fully destructible game world built out of cubes like Minecraft?

Yes.

Would it be more efficient than using polygons?

Probably, but not because voxels are faster or cheaper to render (in fact, they're more expensive to render since you must convert the data set). Voxel representation lends itself to manipulation easier than polygons -- so it's much easier to add and remove chunks, bits and pieces of the world represented by the data set.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.