Huge Terrain ?

Irrlicht.Net is no longer developed or supported, Irrlicht.Net Cross Platform is a much more complete wrapper. Please ask your C# related questions on their forums first.
Locked
gagagu
Posts: 8
Joined: Wed Jul 13, 2005 1:32 pm

Huge Terrain ?

Post by gagagu »

Hi,
i've made the Terrain Tutorial in VB :net and all works fine.
But now i want to make a really huge terrain and how should i do this ?

Should i make a field of terrain object ? ->terrain(x,y)
And i don't want to load the data from a picture file, i have my data in compressed form on harddisk.

Can anybody can give me some suggestions ?

THX and Greetings
AndreOdendaal
Posts: 16
Joined: Tue Dec 27, 2005 10:13 am
Location: Johannesburg, South Africa

Post by AndreOdendaal »

Well, the AddTerrainSceneNode only accepts a height map picture so if you have a height map in another format you'll have to use something different (like load it as a mesh or something).

For a really huge map I have a couple of ITerrainSceneNodes positioned next to each other. Remember that at the end of the day the ITerrainSceneNode is still just a SceneNode and you can move it around and rotate it like any other mesh. I'd have an arraylist of ITerrainSceneNode and use my camera's FarView to manage what can or can't be seen.

Don't forget you can also scale your terrain making maps wider, longer and higher as you need
Light
Posts: 1
Joined: Thu Jan 05, 2006 1:24 pm
Location: Indonesia

Post by Light »

For a really huge map I have a couple of ITerrainSceneNodes positioned next to each other. Remember that at the end of the day the ITerrainSceneNode is still just a SceneNode and you can move it around and rotate it like any other mesh. I'd have an arraylist of ITerrainSceneNode and use my camera's FarView to manage what can or can't be seen.


In my understanding, you are suggesting tile based system. one of ogre terrain scenenode use this same technique (in fact one of official node). However i'm wondering if this will not bogged down the system. I mean there are no visibility culling for normal terrain. Secondly, i think the terrain scenenode must be a child of lod scene node and octree scenenode. An thirdly from what i know there's no eficent way to load terrain mesh from other than heightmap. Well, that's my opinion. Please, tell me is is correct or not?
[/quote]
pfo
Posts: 370
Joined: Mon Aug 29, 2005 10:54 pm
Location: http://web.utk.edu/~pfox1

Post by pfo »

Secondly, i think the terrain scenenode must be a child of lod scene node and octree scenenode.
I think that's incorrect, a terrain scene node can simply be added as a child of the scene manager.
An thirdly from what i know there's no eficent way to load terrain mesh from other than heightmap
In terms of loading, you could use either a mesh or a heightfield. It's in the rendering where it makes a difference, the geo-mipmap data structure contains some LOD simplifications that can drastically reduce the number of triangles rendered without sacrificing quality.

For really large terrains where a good portion of it will not be visible, it is very wise to use a real terrain paging system, but these are not as simple as an array of heightmap nodes. While the array will work, it doesn't take into account vertex stitching at the boundaries between terrain nodes and so treats them as separate groups of faces which can lead to seams or artifacts at boundaries. Also, the array will not take care of paging the terrain memory so as to only keep the currently visible part in memory, which will result in more memory being used than needs to be, and more faces being rendered than need to be.
namik
Posts: 11
Joined: Thu Nov 03, 2005 8:12 pm
Contact:

Post by namik »

Do you know of any terrain paging systems? I have found little to nothing useful on Google with that term.
pfo
Posts: 370
Joined: Mon Aug 29, 2005 10:54 pm
Location: http://web.utk.edu/~pfox1

Post by pfo »

Do you know of any terrain paging systems? I have found little to nothing useful on Google with that term.
Really? I just went to yahoo.com and typed "terrain paging" and got tons of results. I do know of a paging terrain manager, the Paging LandScape Scene Manager 2, part of the Ogre engine, I am actually using it atm (not with Irrlicht obviously). Spintz also wrote a TiledTerrainSceneNode, I don't think it's an actual paging scene manager last time I checked (a few months ago) but it looked like he was trying to get it to be one (I saw some comments and unused functions that suggested so, but I could be completely wrong). You can check it out if you look at his signature and go to his website and get IrrSpintz (his flavor of Irrlicht, which adds a few nice things, I don't think it's .net compatible though).

Edit: while looking, I found this, it's a pretty good under-the-hood description of what is going on in a paging terrain system: http://www.gvu.gatech.edu/people/peter. ... /paper.pdf
smoth
Posts: 3
Joined: Fri Mar 10, 2006 11:46 pm

Post by smoth »

what are the size limits of terrain nodes?
Spintz
Posts: 1688
Joined: Thu Nov 04, 2004 3:25 pm

Post by Spintz »

IrrSpintz has a tiledTerrainManager built into it. I don't use .NET, but the code could be easily converted I'm sure. It still needs some work( it currently only matches up seams for the 1 tile distance from the tile the camera is in ).
Image
Locked