Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Hippokrates

Terrain

This topic is 5621 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I would like to have a flexible terrain engine for my project. So I have got some questions now ;-) 1. What algorithm is to be used for which situations (ROAM, Quadtrees...) ? 2. Are there any situations which might profit of a static method (Brute Force, Octree) ? 3. Is it a good idea to combine geo mipmapping with ROAM by precalculating several resolutions and decide by distance which one to use? 4. Are there any good tutorials out there except those from gamasutra.com ?

Share this post


Link to post
Share on other sites
Advertisement
Geomipmapping is very good for fast terrain rendering. It's what I use, and alot of other people use it. Geomipmapping is a static method.

I can't see how'd you combine ROAM and geomipmapping. Even if you could? Whats the point? What would you rather do, calculate individual triangles on the CPU, then send them one by one to the graphics card ( why ROAM is hardly ever used anymore ), or send a batch of triangle strips to the card ( geomipmapping )?

vterrain.org

Bear in mind that conventionally geomipmapping uses a single heightmap, and so doesn't support overhangs. ( You could extend this to 3 to support them, but then you'd have more situations of cracking to deal with ).

Death of one is a tragedy, death of a million is just a statistic.

[edited by - python_regious on September 14, 2002 4:49:33 PM]

Share this post


Link to post
Share on other sites
You can combine ROAM and geomipmapping very well.
You start of by precalculating 2 resolutions of your terrain by using ROAM. Afterwards you apply geomipmapping to decide wether to use a detailed or a less detailed version of a patch.

Share this post


Link to post
Share on other sites
quote:
Original post by Hippokrates
I would like to have a flexible terrain engine for my project.
So I have got some questions now ;-)
1. What algorithm is to be used for which situations (ROAM, Quadtrees...) ?
2. Are there any situations which might profit of a static method (Brute Force, Octree) ?
3. Is it a good idea to combine geo mipmapping with ROAM by precalculating several resolutions and decide by distance which one to use?
4. Are there any good tutorials out there except those from gamasutra.com ?


I tried a few, also on my slow K6-2 450 + TNT2 card.
ROAM is just too slow, Rottgers with frustrum culling gave 15-20 fps, but the best one I''ve seen is the Diamond algorithm by Henri Hakl. This gave me 30 fps on a 1024x1024 heightmap, rendered with a texture and lighting.

See http://www.cs.sun.ac.za/~henri/terrain.html

The source is in Delphi but it should be able to convert it to C++ easily.

The best terrain site is of course http://www.vterrain.org

Share this post


Link to post
Share on other sites
Ah I get you, you use ROAM to precalculate different vertices for different geo-mip levels. Most implementations only change vertex indices. Your method would take up alot of memory, and make it harder to solve cracking ( since each terrain patch would be of arbitary resolution and use a different vertex set, not just a reduced set of indices on the same vertex data ).

Also, you''d want a bit more than two, I use 5 geomip levels...

I''ve never heard of the diamond algorithm... Well, not relating to actually rendering terrain anyhows...

Death of one is a tragedy, death of a million is just a statistic.

Share this post


Link to post
Share on other sites
Ok I dont know about any1 else.
but I am getting rottgers algorithm to work on a 4k mesh at 1024x768x32bit to run at 22 fps with geomorphing???

So there is something wrong when a tnt2 card cant render 1k faster than 30fps (in my opinion)

I am using a matrox parhelia 128 not a great card
Its all about your code. I am almost positive I can squeeze another 20-30 frames out it.

The answer is pick the algorithm that will best fit your needs.
memory requirements and hardware.. goodluck

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!