Terrains. Terrains. Terrains.

Started by
4 comments, last by jtmerchant 20 years, 5 months ago
I''m making a simple FPS game over the holidays and I''m currently working on the terrain generation/rendering. My question is: do most people use heightmaps for their terrains or models made in a modeling program such as lightwave. The only advantage of using a heightmap seems to be that a mesh contained in a file would be too size costing. The only advantage of using a mesh contained in a file is that you can have caves etc. without having to worry about plopping models onto a heightmap that probably won''t blend textures very well. What is your opinion? Joshua Merchant
Advertisement
What technique to use depends very musch on the size and detail of the landscapes.

If your game is generally an indoor game and your terrains are just to bind the different indoor locations together, then terrains created in a modelling app would be just fine.

However, if the terrains is where all the action is going to take place, I would definately reccomend to make a landscape engine that can generate a landscape from a heightmap.
If you do that, make it use tiles, as they would save you from using too much memory, while the closeup view of the textures are not too blurry. Using one big texture image for an entire landscape is NOT a good idea. Trust me, I´ve tried it.
If you make a landscape engine, consider if you want to use some kind of LOD algorith or if you will just be very effective using culling. A slow LOD algorithm is worse than good view culling. so only implement an LOD algorithm if youre sure that it´s very fast.

Hope you can use the answer...

Tue
I''m currently using heightmaps cause they were easy to implement, but i''ll try to switch to NURBS till sunday evening (*crosses fingers*).

Advantages I see:
- Can represent any shape of terrain.
- Allows for pretty nice LODing
- Should not take much disk-space, while still providing a smooth landscape.

Disadvantages:
- Run-time tesselation will slow things down, until HOS can benefit from HW acceleration. (Anyone knows if "next" generation cards will already support this ?)
- Heavier on implementation/maths.
- No tutorial around (atleast I havent found one)
- Landscape will most likely be too smooth, unless you add some kind fractal-detail at run time.
i dont think nurbs are good idea. I prefer Bezier Patches.
3D Side-Scroller game demo Project-X2 "playable"Lashkar: A 3D Game & Simulation Project demo @ lashkar.berlios.de
i think hos have already been supported in hardware a while ago. dx8 had a nice teapot example which stopped working on my gf3 after updating the drivers (for some reason nvidia decided its no good and their driver would claim it doesnt support them). removing the check in the demo made it work again and pretty fast. so i still wonder what was wrong with it.
f@dzhttp://festini.device-zero.de
Another nice factor in general about terrain, is the ability to generate the terrain on the fly. If you have a seeded fractal noise function (taking 2 float coordinates and always returns the same fractal noise values at that point). You can dynamically generate the terrains'' height field, and tesselate it appropriately (LoD). In general, a heightfield is a far more efficient, and elegant way to store terrain in general, unless you have very specific requirements. Fractal noise is similarly a very good way to generate terrain, because its fractal nature gives more, or less detail (if required) depending on range. This leads to very nice LoD possibilities (implemented as a series of strips parallel to the cameras x axis if you wish). In otherwords, heightmaps are cool if you need very large outdoor regions, otherwise stick to modelling program defined geometry (or mix the two if you wish).

This topic is closed to new replies.

Advertisement