The catch is you can't really animate things the same way we're used to now with polygon-based geometry. best you can do with voxels is rotate them (or basically change their xyz+A coordinates). Can't do skeletal animation, which we've been doing since Quake III. I suppose you could go for a sprite-like approach, and have N amount of frames of animation of your 3d objects (essentially keep replacing one model with a slightly deformed version to give illusion of animation), but this is impractical - an artist would have to hand-craft every frame, and this can quickly get out of hand with high-resolution art assets.
There isn't even a real win with voxel-based geometry in terms of performance or anything. Like, you can define your geometry as tiny triangles, or as tiny cubes. The calculations to put pixels on your screen are going to be roughly the same, assuming you use the same rendering technique - that is, rendering is not really that dependent on how the geometry is defined. I could build a 3D object entirely out of donuts if i wanted to. I think by far, the biggest strength with voxel-based geometry is partial asset destruction (or deformation). You can always just remove a few voxels from a model, and the rest of the model stays intact. If you start removing triangles from a polygon model willy-nilly, it'll screw up royally - texture won't wrap properly, you'll get crazy non-euclidean geometry going on, etc.
Anyway, so the biggest roadblock is animation. But if anyone could figure out how to do it, I'm sure it's
Carmack.
Bookmarks