Large Terrain
-
- Posts: 12
- Joined: Sat Jan 27, 2007 4:21 am
Large Terrain
How can I create a very large terrain with paths, valleys etc in it?
If we use the Irrlicht tutorial, all we get is a single texture, far away from a nice terrain.
I mean, something richer in detail. I don't want to hear scaling as a solution
The idea is to make something like one level of games like Unreal 2, Halo etc.
Please help.
If we use the Irrlicht tutorial, all we get is a single texture, far away from a nice terrain.
I mean, something richer in detail. I don't want to hear scaling as a solution
The idea is to make something like one level of games like Unreal 2, Halo etc.
Please help.
Why did I choose Irrlicht? Simple: It has the most helpful tutorials.
-
- Posts: 157
- Joined: Tue Mar 20, 2007 8:30 am
As far as I know, the terrain in Halo is a mesh whereas the terrain in the Irrlicht demo is a heightmap, so that could be why Halo terrains can be more detailed. Anyways to make your own you'd need to model it yourself, which generally takes longer than using a heightmap, but would give you the extra detail you're after, and as for how to do that, search google for terrain modelling or something like that. Hope that helps
it's actually two textures one is the texture and the other is the detail texture and with a single texture height map this can look very convincing considering you can paint the texture anyway you like.
however the terrain in irrlicht is a work in progress and by that I mean it's nearly useless right now. if you want tiled terrain use irrspintz or hack the code.
if you want mesh terrain with basic culling turn it into an octtree scenenode and that will give you basic culling for some things.
if your doing this as a free noncommercial project you can use BSP style mapping with GTKRadiant.. it's made by the valve guys you know wolfenstien.
otherwise you have 1 last option and if yer not a good coder this is gonna be the hard line to cross UNLESS you have B3D which is kinda cheap but a crooked company. yer last option is to develope your own mesh culling system.. which could be fairly simple actually all you need is a way to section off your map to make anything clipped not be drawn behind several clipping zones.
learn BSP mapping and you'll understand how that works. far too complex to explain here.
good luck
however the terrain in irrlicht is a work in progress and by that I mean it's nearly useless right now. if you want tiled terrain use irrspintz or hack the code.
if you want mesh terrain with basic culling turn it into an octtree scenenode and that will give you basic culling for some things.
if your doing this as a free noncommercial project you can use BSP style mapping with GTKRadiant.. it's made by the valve guys you know wolfenstien.
otherwise you have 1 last option and if yer not a good coder this is gonna be the hard line to cross UNLESS you have B3D which is kinda cheap but a crooked company. yer last option is to develope your own mesh culling system.. which could be fairly simple actually all you need is a way to section off your map to make anything clipped not be drawn behind several clipping zones.
learn BSP mapping and you'll understand how that works. far too complex to explain here.
good luck
you mean ID and Quake right ? because valve made hl1 on a modified quake 2 engine and the original wolfenstein was made using raycasting .Midnight wrote: if your doing this as a free noncommercial project you can use BSP style mapping with GTKRadiant.. it's made by the valve guys you know wolfenstien.
-
- Posts: 12
- Joined: Wed Mar 28, 2007 11:53 am
You can definitely model your own terrain but I couldn't tell you what the right way to get it into Irrlicht is. Doing it yourself would just take a bit longer than scribbling down a quick heightmap in Photoshop. Besides being able to have lots of control, another advantage to doing it yourself is that you'd have more control over the polygon count. At least I assume you would.....the terrain renderer doesn't do any intelligent tessellation, does it? If it's smart enough to use big polygons in areas of low curvature, well forget what I said then.
I'm currently modeling terrain in Maya and exporting in .obj files. The finished product looks pretty good in Irrlicht.
I'm not seeing a problem with polys yet really. I'm building huge tiles with houses and roads and stuff as minutely detailed as a I can, and it's still about only 30k for a mesh that almost makes a horizon I actually have the draw distance set to 20k right now I think, and there's still map after that. That is, though, without trees, I've not decided about how to do foliage yet. I want wind...
So yeah, Irrlicht can handle it, it seems, and most computers probably can as well.
I'm running a 2.4 Celeron, 4 gigs DDR ram and a 256 meg Radeon 9600 running at about a gigahertz. I get about 40 frames running with OpenGL.
I'm not seeing a problem with polys yet really. I'm building huge tiles with houses and roads and stuff as minutely detailed as a I can, and it's still about only 30k for a mesh that almost makes a horizon I actually have the draw distance set to 20k right now I think, and there's still map after that. That is, though, without trees, I've not decided about how to do foliage yet. I want wind...
So yeah, Irrlicht can handle it, it seems, and most computers probably can as well.
I'm running a 2.4 Celeron, 4 gigs DDR ram and a 256 meg Radeon 9600 running at about a gigahertz. I get about 40 frames running with OpenGL.
Yeah, I suppose you're right there. I'm not trying to make an FPS or anything though so it could even drift down to 20 without my crying.
I'm building a VR application which is (hopefully... still learning to program) going to implement a P5 glove and allow you to pick things up
My machine is a wee bit behind the times, besides. My little brother blew all his scholarship money on one of those newfangled dual core jobbies and it runs at 160
I'm planning a setup, after I model all my terrain, to create a series of scene nodes that load depending on player location, and reduce the geometry on the terrain as the distance increases from the player manually per scene node in my models. So... you think you're walking on the same grass.... but you're NOT haha!
I think that'll take some of the load off
I'm building a VR application which is (hopefully... still learning to program) going to implement a P5 glove and allow you to pick things up
My machine is a wee bit behind the times, besides. My little brother blew all his scholarship money on one of those newfangled dual core jobbies and it runs at 160
I'm planning a setup, after I model all my terrain, to create a series of scene nodes that load depending on player location, and reduce the geometry on the terrain as the distance increases from the player manually per scene node in my models. So... you think you're walking on the same grass.... but you're NOT haha!
I think that'll take some of the load off
You could use use a mesh for the terrain thats what we use in our project.
divide your terrain up in many smaller meshes and then load them in a matrix (you can read about it in another post in the forum that i made)
And a premade terrain mesh dont have to have alot of polys thats up to you.
And no i cant give the code for the terrain matrix loading at this time maybe later when its tested.
divide your terrain up in many smaller meshes and then load them in a matrix (you can read about it in another post in the forum that i made)
And a premade terrain mesh dont have to have alot of polys thats up to you.
And no i cant give the code for the terrain matrix loading at this time maybe later when its tested.
Thanks for your answer.
So if undertood, every part of the terrain are you loading it in this way?:
scene::IMesh* world_mesh = smgr->getMesh("media/TerrenoParte1.3DS")->getMesh(0);
And then adding it to an octree.
scene::ISceneNode* world_node= smgr->addOctTreeSceneNode(world_mesh);
Is this correct?, Did you use another way.
I insist in this because I have to manage 20kx 20k terrains too and may there is a better way to load.
Thank since now for your advices.
Vsk.
So if undertood, every part of the terrain are you loading it in this way?:
scene::IMesh* world_mesh = smgr->getMesh("media/TerrenoParte1.3DS")->getMesh(0);
And then adding it to an octree.
scene::ISceneNode* world_node= smgr->addOctTreeSceneNode(world_mesh);
Is this correct?, Did you use another way.
I insist in this because I have to manage 20kx 20k terrains too and may there is a better way to load.
Thank since now for your advices.
Vsk.