Jump to content

  • Log In with Google      Sign In   
  • Create Account

basic voxel terrain rendering


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 Triad_prague   Members   -  Reputation: 140

Like
0Likes
Like

Posted 31 October 2011 - 10:59 AM

Hi, I recently watched a demo of a video game (Lord of uberdark) and it said that the game used voxel terrain. I wonder what a voxel is and quick search told me that it's basically 3D "pixel". I started to google "basic voxel terrain rendering" but it seems that those articles are for people who already understood the basic stuffs. Basically I'm still confused of how the basic things work.

1. how do you render the voxel terrain? do we use triangles/polygons or what?
2. what to store? in my simple terrain engine I store vertices, triangle indices. what about voxel terrain?
3. can I use OpenGL to draw it?
4. is it memory hungry?
5. how do you texture the terrain?
6. do I have to use shaders to render it?

I'd like to learn it because I saw in the video that you can "sculpt" the terrain like a piece of cake :D
the hardest part is the beginning...

Sponsor:

#2 FLeBlanc   Crossbones+   -  Reputation: 3117

Like
3Likes
Like

Posted 31 October 2011 - 11:35 AM

1) Some implementations render voxels as geometry, generated by various means. The mesh is constructed by approximating the surface of the volume described by the voxels. For this, you can look at the various implicit surface algorithms such as Marching Cubes, Marching Tetrahedrons, etc... Other implementations render the voxels using ray-casting, tracing screen-pixel rays and calculating intersections with the voxel data.

2) In voxel terrain, you need to store the various data points that comprise your voxel volume. Material, density/translucency, etc... The smaller and leaner you can make your voxel representation, the better.Many representations will go with a single byte material ID that allows, of course, 256 different types of materials.

3) Yep.

4) Yep. Although you can mitigate the memory usage by using data constructs such as Sparse Voxel Octree (SVO), data storage and access remains very much a limiting factor for large-scale usage of voxels.

5) This one can be a toughie. You can look into techniques such as tri-planar mapping to texture it.

6) Depends on how you decide to render it. Ken Silverman's Voxlap system doesn't use shaders, but the texturing isn't very high-def. For higher definition texturing, I suspect you probably will want to use shaders. A technique such as tri-planar mapping will require them.

#3 PolyVox   Members   -  Reputation: 708

Like
3Likes
Like

Posted 31 October 2011 - 02:20 PM

I wrote a book article about voxel terrain which you can read on Google Books here: http://books.google....epage&q&f=false

I also have an open source voxel terrain library which you can take a look at: http://www.volumesof...ress/?page_id=8

#4 Triad_prague   Members   -  Reputation: 140

Like
1Likes
Like

Posted 31 October 2011 - 07:07 PM

FleBlanc, PolyVox, +1 for y'all. I'd start getting those resources to read, and I hope I can come up with something...once again thanks :D
the hardest part is the beginning...




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS