Voxels? Where are they??
I was wondering...Has anyone made a game completely based on voxels? That is not only for the terrain but for objects and characters as well (kinda like a 3D sprite I guess..)...
How difficult would it be to create a kind of sprite out of voxel data? Of course the amount of memory it would take would probably be huge but wouldn''t it be faster than using polys to build a character (disregarding 3D video cards)?
Also (Note: I may not know what I''m talking about here...) - I''ve noticed that most NURBS algorithms break down the surface down into a polys so that it can be drawn - would it be faster / easier / possible to break it down into voxel data and then draw? To me this would result in smoother curves - if you break it down into enough polys it may as well be a single pixel per poly - which to me is overkill..
Why are voxels ignored??? (no speedy hardware help for them)
Just wondering...
There was a little game called Tumblebugs. Not exactly well known though. Try www.tumblebugs.com (I think - try the usual variations if that doesn''t work).
I think the major turnoff is, as you said, very little 3D hardware support. With fast hardware you can produce enough polygons to look as good as or better than voxels.
=> Arfa <=
=> Arfa <=
Using voxel graphics to represent objects as complicated as objects we represent with polygons would require a lot more processing.
Take a Quake3 model and try to imagine how many 3D pixels it would take to create a model of that detail with voxels. Then imagine how long it would take to rotate all those voxels. Also take in the fact that you will have to caluclate lighting too.
Polygons are used now because you can cover an area with only a small number of points (most 3D engines use triangles and or quads so you will only be using 3 or 4 points). To cover the whole area with voxels you need to fill it will a large number of 3D pixels (unless you use very large 3D pixels, but doing that will make a very blocky looking model).
I think as computer performance increases, voxels may replace polygons. Were acutally kinda of heading that way as we keep using more and smaller polygons. This trend is eventualy going to leave us with models that have so many tiny polygons, that we can just toss the polygon and put a 3D pixel in its place.
There are a few games that use voxels. Command & Conquer: Tiberian Sun and Blade runner use voxel graphics. But the 3D pixels are very large and the models look very blocky.
Edited by - tc on 3/24/00 3:16:51 PM
Take a Quake3 model and try to imagine how many 3D pixels it would take to create a model of that detail with voxels. Then imagine how long it would take to rotate all those voxels. Also take in the fact that you will have to caluclate lighting too.
Polygons are used now because you can cover an area with only a small number of points (most 3D engines use triangles and or quads so you will only be using 3 or 4 points). To cover the whole area with voxels you need to fill it will a large number of 3D pixels (unless you use very large 3D pixels, but doing that will make a very blocky looking model).
I think as computer performance increases, voxels may replace polygons. Were acutally kinda of heading that way as we keep using more and smaller polygons. This trend is eventualy going to leave us with models that have so many tiny polygons, that we can just toss the polygon and put a 3D pixel in its place.
There are a few games that use voxels. Command & Conquer: Tiberian Sun and Blade runner use voxel graphics. But the 3D pixels are very large and the models look very blocky.
Edited by - tc on 3/24/00 3:16:51 PM
Voxel games...
where have u been living?
Outcast, Deltaforce 1-2 and some more...
========================
Game projects:
www.fiend.cjb.net
where have u been living?
Outcast, Deltaforce 1-2 and some more...
========================
Game projects:
www.fiend.cjb.net
=======================Game project(s):www.fiend.cjb.net
JONATAN : Ehm, sorry dude, but this are no voxels.
You confuse those heightmaps which are called voxels with real voxels being really volumetric pixels. Real voxels have a size of 1x1x1, the smallest possible size and each object is built out of many of those voxels. So, let''s say you have an object of 256x256x256. For this object in 32-bit, you would need 67108864 bytes of memory. And now have a look out of how many of those objects the world exists.
So, at the moment, using voxels in games is impossible because they simply need way too much memory. Technically it''s not impossible and IIRC the rampage supports 3d-textures which are the same as voxels. But this is not fast enough yet, they''re used on big medical workstations, but not on normal home pc''s.
CU
Graphix Coding @
Skullpture Entertainment
http://www.skullpture.de

So, at the moment, using voxels in games is impossible because they simply need way too much memory. Technically it''s not impossible and IIRC the rampage supports 3d-textures which are the same as voxels. But this is not fast enough yet, they''re used on big medical workstations, but not on normal home pc''s.
CU
Graphix Coding @
Skullpture Entertainment
http://www.skullpture.de
Graphix Coding @Skullpture Entertainmenthttp://www.skullpture.de
I know that those games dont use TRUE voxels, but it''s as close as you can get w/ todays home-computers...
I read some docs. about voxels, i know what they are... im pretty sure that a voxel can be of any size
(not only 1x1x1)
========================
Game projects:
www.fiend.cjb.net
I read some docs. about voxels, i know what they are... im pretty sure that a voxel can be of any size
(not only 1x1x1)
========================
Game projects:
www.fiend.cjb.net
=======================Game project(s):www.fiend.cjb.net
Normally, a voxel is a volume of 1x1x1, but you can create one voxel out of 8 smaller voxels so that you have 2x2x2 or 8x1x1 or whatever, so it''s the same.
Graphix Coding @
Skullpture Entertainment
http://www.skullpture.de

Graphix Coding @
Skullpture Entertainment
http://www.skullpture.de
Graphix Coding @Skullpture Entertainmenthttp://www.skullpture.de
I was thinking more along the lines having a heightmap / voxel map combined with 6 bitmaps for the top, bottom, sides, etc. - sure it would take alot of memory - but I think it would take less memory for the 6 sides and the voxel map (using 1 bit per "voxel") and be able to view it from a number of views than making 16 seperate images for only 16 views.. I''m sure that there''s lots of problems since I''ve only began thinking about this..but I guess my question is - has anyone else tried this? How well or did it work?
Here is an example that shows that voxels _can_ be within our grasp.
Let's take the 256x256x256 example again. It would take 67108864 bytes of memory. But when you have a round object, you don't need the surrounding pixels, uh voxels. When you use RLE on that you can get a 0-25% decrease. When you do get 25% you only need 0.75*67108864=50331648 bytes. That's still too many. But you don't have to fill up the entire object.
Let's take a 256x256x256 32 bit cube. You only need the 6 sides, that will be 6x256x256x4=1572864 bytes. The rest is 'black' and transparent. With some RLE information you will need most likely 2MB for that object. That's a decrease of 97%!
Only speed will be an issue...
Edited by - bosjoh on 3/26/00 11:30:48 PM
Let's take the 256x256x256 example again. It would take 67108864 bytes of memory. But when you have a round object, you don't need the surrounding pixels, uh voxels. When you use RLE on that you can get a 0-25% decrease. When you do get 25% you only need 0.75*67108864=50331648 bytes. That's still too many. But you don't have to fill up the entire object.
Let's take a 256x256x256 32 bit cube. You only need the 6 sides, that will be 6x256x256x4=1572864 bytes. The rest is 'black' and transparent. With some RLE information you will need most likely 2MB for that object. That's a decrease of 97%!
Only speed will be an issue...
Edited by - bosjoh on 3/26/00 11:30:48 PM
Still way too big. Apply a little thought here. Think reusable, repeating sub-elements, look-up element tables, special case flags and such. Depending on how many colors you use, the cube should only take up a couple hundred bytes max. I would stick with 16-bit graphics and limit the number of unique colors that can be used in one volume object. That way you can use a color palette look-up table.
I''ve already been through all the stuff you guys are talking about since I''m in the middle of building an engine that uses similar technology.
I''ve already been through all the stuff you guys are talking about since I''m in the middle of building an engine that uses similar technology.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement