why isn't point cloud/voxel gfx not used commercially?


monstercameron

Well-Known Member
Joined
Oct 19, 2010
Messages
1,001
Website
www.thinkteletronics.com
found this website http://potree.org/demo/skatepark_v1.0/skatepark_v1.0.html (need webgl enabled) and the graphics arent too bad. I dont know how the mapped out the park but it looks high detailed when it finally loads. From what I observed this type of engine may not need a 3d accelerator, it looks like to me that they are drawing numerous circles on screen, each with their own color and just scaling them, no rotation or skewing or any other transforms. I don't know the specifics but what would it take for an engine like this or how would you implement it? for an soc like omap and i.mx6 with dedicated 2d accelerators could this work on just that alone or would a 3d accelerator be necessary? what are the draw backs to such an engine? I am guessing animation would be tough.
 
Last edited by a moderator:
A triangle requires storing 9 points of data and can be as large or as small as needed. (for the position, colour and texturing would be extra)

Each voxel you need to store 3 points of data (again, just for position) with a triangle requiring an unknown number of voxels: more tri=more vox. That rapidly becomes a lot of data. Current examples use very large voxels to make very "pixelated" objects so they don't use as much memory as something more detailed.

Video cards have also become highly specific for dealing with polygons: the hardware is designed to handle millions of them in ever smaller and tighter resolutions with each generation; but voxels are a fairly new technology, at least outside of the experimental. Video cards haven't really been designed to work with them yet, so any acceleration that is to be done needs to be hacked through with software (ie, making large pixely blocks).

I don't know where you got the idea that it could be done without 3D acceleration, something has to calculate the entire scene, figure out where each "dot" goes and how big it needs to be. Currently that is done partially in the graphics card and partially in software. One day there may be graphics cards where you can just throw voxel objects at it and it takes care of everything automatically but I don't know when that'll be.

edit: for example, that "simple scene" you showed had one of my cores pegged at a constant 100% and made the rest of my system stutter in responding (which suggests a lot of memory work, as well). A similar scene rendered with traditional polygons barely makes my computer blink.
 
Last edited by a moderator:
One classic DOS game that used voxels (actually a heightmap) was "Comanche". It was written by one guy and really took an 80386 to max. Quite fun as a coffeebreak game, IMO.


There really is no advantage to using voxel-only engines nowadays: hardware is designed to accelerate polygon drawing and transforms, although they also can do bump mapping and full volumetrics with things like CUDA.
 
http://voxels.blogspot.com/ - describes how Nvidia's CUDA can be used to generate spare voxel octrees effeciently to produce some amazingly detailed and complicated scenes. I also saw a destructable voxel terrain engine that was amazing recently as well.
 
The build engine (Shadow Warrior, Blood, Duke Nukem 3D, etc) supports voxel objects. Duke didn't have any, but Shadow Warrior did (I think Blood used them too, but I can't remember). The level itself wasn't voxels, just some in game objects.

Hehe, that pointcloud web demo reminded me of playing Ecstatica (an old dos game where the entire world (characters, scenery, everything) was made of ellipsoids.
 
Games do use point sprites, particles, etc where it makes sense. You don't get whole games made out of this because it doesn't fit most things well. Look at the example gallery you gave.. the objects look great until you zoom in and the voxels fall apart. But on the flip side if you pack too many voxels than what you can see it becomes inefficient. It's basically the inverse of how you want to map the problem. Other than that there's nothing that prevents you from doing the same sorts of objects with conventional geometry and shading. And it's more efficient because you only need to use the more complex geometry when necessary. And for some parts you can use shading and texturing tricks like bump mapping instead of real geometry.
 
Last edited by a moderator:
What was the first (hardware accelerated) bump mapped game you remember? I think mine was Morrowind.
 
Last edited by a moderator:
Back
Top