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
Huge Terrain ?
-
- Posts: 16
- Joined: Tue Dec 27, 2005 10:13 am
- Location: Johannesburg, South Africa
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
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
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]
-
- Posts: 370
- Joined: Mon Aug 29, 2005 10:54 pm
- Location: http://web.utk.edu/~pfox1
I think that's incorrect, a terrain scene node can simply be added as a child of the scene manager.Secondly, i think the terrain scenenode must be a child of lod scene node and octree scenenode.
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.An thirdly from what i know there's no eficent way to load terrain mesh from other than heightmap
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.
-
- Posts: 370
- Joined: Mon Aug 29, 2005 10:54 pm
- Location: http://web.utk.edu/~pfox1
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).Do you know of any terrain paging systems? I have found little to nothing useful on Google with that term.
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