Volumetric Terrain

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Trox
Gnoblar
Posts: 4
Joined: Mon Nov 16, 2009 8:46 pm
x 6

Volumetric Terrain

Post by Trox »

[youtube]-hJkrr5Slv8[/youtube]

Hi there,

voxel-based terrains are pretty hip currently, so I finally decided to share the results I achieved already two years ago in the course of my seminar paper (kind of bachelor thesis).

I was inspired by the early Versions of PolyVox (http://www.ogre3d.org/forums/viewtopic.php?f=11&t=27394) and he helped me to get started (greetings incidentally! :)).

Though I developed everything from scratch - rendering is done with Ogre of course.

Features include:

- real-time editing (add & remove)
- 512^3 volume size
- marching cubes
- tri-planar texturing
- octree
- view frustum culling
- adjustable smoothness of normals
- heightmap transformer
- 1st & 3rd person camera

As i optimized things pretty well on my old notebook, the program runs now at smooth 400fps on my PC. With that said there is a lot of room for further quality enhancements (i.e. larger data set etc.)

I'm looking forward to your feedback! :)

1.jpg
2.jpg
3.jpg
User avatar
Shockeye
Gremlin
Posts: 154
Joined: Mon Nov 24, 2008 10:34 am
Location: 'Straya
x 1

Re: Volumetric Terrain

Post by Shockeye »

Hey that is pretty hip. :D
The holes & over-hangs are cool.
Have you got any future plans for this, or is it just for research purposes?
Trox
Gnoblar
Posts: 4
Joined: Mon Nov 16, 2009 8:46 pm
x 6

Re: Volumetric Terrain

Post by Trox »

Thanks! :)

Unfortunately I don't have further plans right at the moment, as I'm pretty busy. But this project was so incredibly fun that I was always itching to continue it.
There are so many possibilities left to enhance the quality and I can imagine some pretty cool games, built around this technique.
In fact I kept working on it after my seminar paper was handed in, but not much later I had to focus on my diploma thesis.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Volumetric Terrain

Post by jacmoe »

Hand it over! :D
This is really nifty.

Any chance to get at the code? :)

The reason why I'm asking - and I am aware of PolyVox - is that I am itching for a voxel terrain component for Ogre.
And a new editing plugin for Ogitor (check my signature).

If Ogre had such a thing, then we are one step closer to being as cool as the commercial C4 Engine:
[youtube]9gf3sFBNOMk[/youtube]
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
Jabberwocky
OGRE Moderator
OGRE Moderator
Posts: 2819
Joined: Mon Mar 05, 2007 11:17 pm
Location: Canada
x 218
Contact:

Re: Volumetric Terrain

Post by Jabberwocky »

Very nice work.
What I would give to be free of the constraints of a traditional heightmap-based terrain.
Image
Trox
Gnoblar
Posts: 4
Joined: Mon Nov 16, 2009 8:46 pm
x 6

Re: Volumetric Terrain

Post by Trox »

Cheers! :)

Sounds interesting, jacmoe! In its currrent state I wouldn't do you much of a favour to give you the code, since it's not totally clean and there are some tricky hacks in it.
Though I am definately willing to share it, if you give me the time to refactor some things. :)
User avatar
Shockeye
Gremlin
Posts: 154
Joined: Mon Nov 24, 2008 10:34 am
Location: 'Straya
x 1

Re: Volumetric Terrain

Post by Shockeye »

Jabberwocky wrote:Very nice work.
What I would give to be free of the constraints of a traditional heightmap-based terrain.
But would you want to give up the sheer size of terrain you can do with height maps? I imagine voxel terrain would have its own constraints in term of the size of the world.
I wonder if you can combine small voxel sections with a much larger height map terrain to get the best of both worlds?
Trox wrote:Features include:

- real-time editing (add & remove)
- 512^3 volume size
- marching cubes
- tri-planar texturing
- octree
- view frustum culling
- adjustable smoothness of normals
- heightmap transformer
- 1st & 3rd person camera
Sniper Binaire
Kobold
Posts: 34
Joined: Sun Oct 18, 2009 9:08 pm

Re: Volumetric Terrain

Post by Sniper Binaire »

Very interesting !

Well, I can become suitable for a real project if you add two things : pagination and ray casting
Even the 1.7 Ogre's terrain system have some troubles with huge terrains.


But I'm curious of one thing : How can a such system be serialized ?
Because heightmaps is very straightforward for a classical terrain, but unsuitable here.
____________________________________
Please excuse my poor and incorrect English, as I still learn it at school.
____________________________________
User avatar
Jabberwocky
OGRE Moderator
OGRE Moderator
Posts: 2819
Joined: Mon Mar 05, 2007 11:17 pm
Location: Canada
x 218
Contact:

Re: Volumetric Terrain

Post by Jabberwocky »

Shockeye wrote: But would you want to give up the sheer size of terrain you can do with height maps? I imagine voxel terrain would have its own constraints in term of the size of the world.
Agreed.
For big terrains, I think we're going to be stuck with heightmaps for a while at least, purely as a limitation of graphics cards and maybe physics complexity.
Image
User avatar
madmarx
OGRE Expert User
OGRE Expert User
Posts: 1671
Joined: Mon Jan 21, 2008 10:26 pm
x 50

Re: Volumetric Terrain

Post by madmarx »

Looks slick and nice !
I guess a kid could have tons of fun with this :) .
Tutorials + Ogre searchable API + more for Ogre1.7 : http://sourceforge.net/projects/so3dtools/
Corresponding thread : http://www.ogre3d.org/forums/viewtopic. ... 93&start=0
Trox
Gnoblar
Posts: 4
Joined: Mon Nov 16, 2009 8:46 pm
x 6

Re: Volumetric Terrain

Post by Trox »

madmarx wrote:I guess a kid could have tons of fun with this :) .
Not only a kid.. I can't tell whether I spent more time programming or playing with it. :D
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Re: Volumetric Terrain

Post by PolyVox »

Very nice! I'm familier with the rendering of course, but actually the thing I like most is how the editing works. In my own voxel terrain I just added and deleted chunks, but yours has a very nice 'sculpting' feel to it. Looks like it makes it very easy to create natural looking terrain. Good work :-)
User avatar
boyamer
Orc
Posts: 459
Joined: Sat Jan 24, 2009 11:16 am
Location: Italy
x 6

Re: Volumetric Terrain

Post by boyamer »

Very nice, looks quite neat, hopefully you're going to release some code of it.

Amer
User avatar
Slappy
Bronze Sponsor
Bronze Sponsor
Posts: 139
Joined: Fri Sep 28, 2007 8:30 pm
Location: Slovakia

Re: Volumetric Terrain

Post by Slappy »

Your terrain looks fantastic!
Few years ago [around 2008] I was looking for OGRE based voxel-based terrain for my Bachelor thesis: http://www.ogre3d.org/forums/viewtopic.php?f=11&t=55701 and nothing fitted me.
As I had no time to implement it by myself I used traditional heightmap-based terrain (ETM, resp. Mogre ETM) which has many limitations.
I can imagine really cool stuff which could be done with your terrain in my thesis: tunnels for trains, natural bridges, river basins, canyons and lot of more...
Oooooch, I wish your terrain was finished in those days :)

I hope you will make it more coders-friendly so many-many games can use it, it is really good work!!!
Cool looking Graphical Installers in NSIS and Inno Setup: http://www.graphical-installer.com - FREE for Ogre projects
I offer NSIS/Inno Setup scripting, C/C++/C#/Delphi programming: http://www.unsigned.sk
Develop NSIS/Inno Setup projects directly in Visual Studio 2005-2015: http://www.visual-installer.com/
or RAD Studio 2009-XE8: http://www.rad-installer.com/
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Volumetric Terrain

Post by jacmoe »

Trox wrote:Cheers! :)

Sounds interesting, jacmoe! In its currrent state I wouldn't do you much of a favour to give you the code, since it's not totally clean and there are some tricky hacks in it.
Though I am definately willing to share it, if you give me the time to refactor some things. :)
We are quite busy (well, Ismail is quite busy) at refactoring Ogitor, so no rush.

What do you get from Ogitor?

You get an editing framework and a user interface - and a user base.
We are MIT licensed, but you can decide as it can be implemented as a plugin.

No rush. :)

Ogitor has some not totally clean code with tricky hacks too. Although Ismail, because he's a great coder, makes sure it stays civil. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
sleo
Gremlin
Posts: 171
Joined: Sun Jun 05, 2011 6:49 am
Location: Vodka Federation
x 18

Re: Volumetric Terrain

Post by sleo »

Very good. Next step could be replacing marching cubes with dual contouring and tri-planar texturing with volume blendmaps or procedural texturing to allow even more fantastic dreaming atmospheric worlds. It is like master vs bachelor thesis :)
Sniper Binaire
Kobold
Posts: 34
Joined: Sun Oct 18, 2009 9:08 pm

Re: Volumetric Terrain

Post by Sniper Binaire »

Next step could be replacing marching cubes with dual contouring
Well, you've hit my curiosity ^^
I've never heard about this algorithm, but it appear as a more accurate method than marching cubes.
As accuracy isn't the main problem here, but speed of the system, would it be better to improve marching cube ?
With something like merging of quads based on their normals.

That's just an idea.
____________________________________
Please excuse my poor and incorrect English, as I still learn it at school.
____________________________________
User avatar
spacegaier
OGRE Team Member
OGRE Team Member
Posts: 4300
Joined: Mon Feb 04, 2008 2:02 pm
Location: Germany
x 130
Contact:

Re: Volumetric Terrain

Post by spacegaier »

Any updates regarding the code?
Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
User avatar
milamber08
Gnoblar
Posts: 5
Joined: Sat Jun 04, 2011 1:35 pm
x 1

Re: Volumetric Terrain

Post by milamber08 »

Hi All,
Thought I would throw my two cents in here - this is extremely good work. I especially like the editing functionality - it's one of those things I could play with all day and not get bored with :D .
Jabberwocky wrote:
Shockeye wrote: But would you want to give up the sheer size of terrain you can do with height maps? I imagine voxel terrain would have its own constraints in term of the size of the world.
Agreed.
For big terrains, I think we're going to be stuck with heightmaps for a while at least, purely as a limitation of graphics cards and maybe physics complexity.
Since Trox mentions marching cubes and tri-planar texturing I am wondering whether his method would be able make use of the ideas for paging discussed in GPU Gems 3 Chapter 1 as a way circumventing any size constraints on his terrain? I will admit to not being very familar with the topic of voxel terrain if anyone asks :) .

Regards,
milamber08
User avatar
Zonder
Ogre Magi
Posts: 1160
Joined: Mon Aug 04, 2008 7:51 pm
Location: Manchester - England
x 67

Re: Volumetric Terrain

Post by Zonder »

This cetrainly does look good like people have said the editing looks slick
There are 10 types of people in the world: Those who understand binary, and those who don't...
User avatar
Pangamini
Gremlin
Posts: 179
Joined: Fri Sep 17, 2010 2:21 pm
Location: Kosice, Slovakia
x 3
Contact:

Re: Volumetric Terrain

Post by Pangamini »

SO awesome. If it's really that fluent in rendering and terrain editing, if you can tile more of these next to each other to create even bigger worlds... you should definitely build some awesome orig. gameplay game on this
Ancient Greeks did have a culture, but they didn't have gasoline.
...and we have gasoline.
drwbns
Orc Shaman
Posts: 786
Joined: Mon Jan 18, 2010 6:06 pm
Location: Costa Mesa, California
x 24

Re: Volumetric Terrain

Post by drwbns »

Reminds me of blowing holes in terrains in Worms :)
User avatar
Pangamini
Gremlin
Posts: 179
Joined: Fri Sep 17, 2010 2:21 pm
Location: Kosice, Slovakia
x 3
Contact:

Re: Volumetric Terrain

Post by Pangamini »

Yeah. There should be some between-rounds event when you turn terrain into physical objects (not every voxel, just if some part of ground gets separated - floodfill), let them fall down. After they stop, let the voxels "erode" or fall straight down like in old dos tankwars :-P
Ancient Greeks did have a culture, but they didn't have gasoline.
...and we have gasoline.
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80
Contact:

Re: Volumetric Terrain

Post by duststorm »

This is pretty amazing. :)

Concerning the choice between heightmap and voxel terrain: Wouldn't it be a solution to render the current terrain page as voxels, and render the other pages in the distance as a heightmap, that is generated from the voxel terrain when it gets loaded. The heightmap terrain would contain a good approximation at further distances of the voxel data. Of course this would involve some intricate caching and pre-loading routines to make it usable in serious projects.
Developer @ MakeHuman.org
Post Reply