Page 1 of 2

Large Terrain

Posted: Mon Mar 26, 2007 12:46 pm
by gamemaker981
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 :lol:

The idea is to make something like one level of games like Unreal 2, Halo etc.

Please help.

Posted: Wed Mar 28, 2007 12:54 am
by olivehehe_03
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

Posted: Wed Mar 28, 2007 2:27 am
by franklyn
modeling actual terrain would take up billions and billions of polygon . i dont think its a feasible solution unless you can break it up into sectors and do some sort of culling.

Posted: Wed Mar 28, 2007 5:13 am
by roxaz
i gues everybody knows lineage2. map is realy big and detail. so it is divided in sectors (squares). one square takes its heightmap. after heightmap is loaded game puts other static objects (like trees, stones, bridges and so on) on it. heightmaps used and map is extra-detail :idea:

Posted: Thu Mar 29, 2007 5:54 am
by Midnight
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 8)

Posted: Thu Mar 29, 2007 7:28 am
by franklyn
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.
you mean ID and Quake right ? because valve made hl1 on a modified quake 2 engine and the original wolfenstein was made using raycasting :P.

Posted: Thu Mar 29, 2007 9:40 am
by Spintz

Posted: Thu Mar 29, 2007 11:18 am
by raubritter
so you cant model a terrain with Blender?

Posted: Thu Mar 29, 2007 12:36 pm
by bigfish
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.

Posted: Thu Mar 29, 2007 3:09 pm
by Earl
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 :D 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.

Posted: Mon Apr 02, 2007 5:55 pm
by stodge
Sounds good except 40fps doesn't leave you with a lot of CPU time for AI, or any other functionality. Oops, forgot to check your CPU. A demo of this would be interesting, especially to compare performance on different systems.

Posted: Mon Apr 09, 2007 9:44 pm
by Earl
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 :D
My machine is a wee bit behind the times, besides. :D My little brother blew all his scholarship money on one of those newfangled dual core jobbies and it runs at 160 :D
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 :D

Posted: Wed Oct 03, 2007 3:51 pm
by Vsk
Hey Earl, How do you load you huge terrain?
Did you loaded as a Iscene::node + mesh or did you use hight maps with the create terrain function of irrlicht?.
I have to use huge terrains too and I need to know it.
Any recomendation?
Thanks since now.
Vsk

Posted: Thu Oct 04, 2007 10:14 am
by Umbra
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.

Posted: Thu Oct 04, 2007 2:11 pm
by Vsk
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.