The Hype on Voxel Moxels....OH!

Started by
15 comments, last by Krohm 11 years, 9 months ago
I've done research into Voxels and seen some results. What I understand that a Voxel is a Volumetric Pixel. So a cube of pixels in X, Y, Z and mostly used in MRI scans. Jorn Carmark as I read looked into Voxel Raycasting and another source said it's too heavy on memory resources. A whole world composed of Voxels? Sure, compression would have to take part. Voxel Particles seem cool like for Clouds, Smoke, Fire and etc... Now, that I can see in game but composing the whole entire world and players into Voxels...I think would be over doing the memory. If there is a way then there is a way but in this time, maybe not. I think it's a great conept but how applicapible is it to truely have a true 100% voxel game? What is everyone else's thoughts about this topic? I'm doing more research at the moment because I do think there's a lot of potential and it does look awesome just not the blocky appearances that a voxel looked like in some videos I've seen. Thanks for sharing your open opinion!
Game Engine's WIP Videos - http://www.youtube.com/sicgames88
SIC Games @ GitHub - https://github.com/SICGames?tab=repositories
Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX
Advertisement
I think I remember Carmack saying he'd compressed them to 1.2bits per voxel (bpv :)), which would imply 1GB/1.2bits=6.7billion voxels. Cube root of that is ~1800 voxels per side, which seems kinda bad really, unless I'm doing the math wrong...
I think the only valid reason to use voxels and not traditional meshes is when you need to store volume and not a surface. Like if you want to be able to modify the terrain.

Or if you want easy LoD.

Using voxels for something like an animated player character which youre not going to let dwarves dig into is just inefficient.

o3o

So, the terrain in Rage is a bout 6.7 Billions voxels - okay, so it's possible then!
Game Engine's WIP Videos - http://www.youtube.com/sicgames88
SIC Games @ GitHub - https://github.com/SICGames?tab=repositories
Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX
I would agree Waterlimon. I only see Voxels as use for now as particles, terrain but not meshes like dwarves. :)
Game Engine's WIP Videos - http://www.youtube.com/sicgames88
SIC Games @ GitHub - https://github.com/SICGames?tab=repositories
Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX
I think they'd be interesting to use for complex but small objects, maybe a repeating section of cobblestones, mixed in with a regular polygon renderer. I know some old games (Blood maybe?) used them for things like levers on walls because they could be a lot more detailed than a billboarded sprite

I've done research into Voxels and seen some results. What I understand that a Voxel is a Volumetric Pixel. So a cube of pixels in X, Y, Z and mostly used in MRI scans. Jorn Carmark as I read looked into Voxel Raycasting and another source said it's too heavy on memory resources. A whole world composed of Voxels? Sure, compression would have to take part. Voxel Particles seem cool like for Clouds, Smoke, Fire and etc... Now, that I can see in game but composing the whole entire world and players into Voxels...I think would be over doing the memory. If there is a way then there is a way but in this time, maybe not. I think it's a great conept but how applicapible is it to truely have a true 100% voxel game? What is everyone else's thoughts about this topic? I'm doing more research at the moment because I do think there's a lot of potential and it does look awesome just not the blocky appearances that a voxel looked like in some videos I've seen. Thanks for sharing your open opinion!


memory is becoming less of an issue on the PC as RAM is cheap and you can stream data from the disk, smoothing out the appearance can be done on the fly in the renderer so you don't have to use microscopic voxels to get smooth results.

But yes, a high detail voxel world will need more memory than most polygon worlds.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
I think it's a great conept but how applicapible is it to truely have a true 100% voxel game? What is everyone else's thoughts about this topic?... Thanks for sharing your open opinion!
My opinion, condensed to its core: voxels are, for most general renderers, vaporware. They have been going around for so much time I don't remember. I don't recall a single demonstration impressing me. I don't even think they are good in concept: we have native support for polygons which are sparse and irregular in nature. Most of the "advantages" I keep reading about voxels come from system limitations, could apply to polygonal systems as well or show up consistent misunderstanding of what graphics is, voxels are natively regular in structure and we have to use hierarchical structures to make them work in semi-irregular ways.
Consider: Don't start yet another voxel project.
Let me demostrate some extremely interesting arguments from that thread.

  1. Q: For pet projects, voxels can make a lot of sense. They allow you to build a world by simply editing a few noise functions and move on.
    N: pet projects are special cases. Anyway, nobody prevents you to build polygon meshes procedurally.
  2. Q: but the idea of having infinite blocks and chunk spawning actually really helped us to define a very robust and capable engine
    N: the cool thing is nobody ever prevented anyone from generating polygonal geometry on the fly. Those people keep talking about minecraft. Perhaps they have not noticed minecraft is polygonal!
  3. Q: Voxels are nice since their a bit like the 2d tiles of old and can help you create a 3d environment without having to get into 3d art.
    N: I made my cubic art in blender. I'm not an artist, but I can work my way with cubes. Sure, I have 200% the vertex count now (or perhaps even more), I still get 100+ fps on my machine and over 40 on target ... so I'd say there are quite some way to create 3D environments without getting into 3D art.
  4. Q: A couple of days playing around... why wouldn't you?
    N: maybe i'm just stupid but I don't recall anything taking "a couple of days playing around". But I'd rather "play around" than sitting in front of a monitor.
  5. Q: My work involves electromagnetic theory and modeling and I have used also finite-difference schemes to model propagation of optical electromagnetic waves. This "voxel" approach is useful, because the fixed cell size, depending on material properties, can lead to implicit time stepping, where only a diagonal matrix needs to be "inverted" at each step.
    N: I admit that's very cool. It's also the standard for volumetric fluid simulation using navier-stokes.
  6. Q: Voxel based games have some interesting possibilities. What I find especially interesting is how it makes it easier to automatically create infinite worlds and how it can support dynamic changes from other players.
    N: same as (2).

But on the bottom line: Id Software technical lead thinks they're hard.

Previously "Krohm"


I think I remember Carmack saying he'd compressed them to 1.2bits per voxel (bpv smile.png), which would imply 1GB/1.2bits=6.7billion voxels. Cube root of that is ~1800 voxels per side, which seems kinda bad really, unless I'm doing the math wrong...
Their scheme apparently didn't store empty space though, so while (n.b. using 1bpv for laziness) (1024*1024*1024*8)^[sup]1/3[/sup]=2048, that's a completely solid ~20[font=courier new,courier,monospace]m[/font] wide cube with [font=courier new,courier,monospace]cm[/font] sized voxels. If the cube was hollow it could be ~378m wide, or if it was a plane instead of a cube it could be ~1km square

(

with cm sized voxels)... which still isn't that large an area, but better ;)

What exactly is the application of voxels? is it just for the graphic representation with underlying abstract forms for other stuff? People talk about transforming the world and stuff, but I cant really see physics and collision detection done based on voxels. I guess there are also almost no 2D games where the objects are physically represented by pixels, at least not when more complex physics are involved.

I have a feeling that voxels are a step back in evolution. I mean you have a system that represents objects by a number of vertices on the surface. Then you have the idea of representing the whole volume with voxels, but since this is too complex in some way you try to simplify it e.g. by only storing voxels on the surface ...

edit: Does the minecraft implementation count as voxels? Because I would not see it that way. It is more like a tile-based game in 3D.

This topic is closed to new replies.

Advertisement