How to render a large terrain by DIRECTX?

Started by
4 comments, last by abnormal 18 years, 9 months ago
I have a large terrain. You know that if I render all, my program will run slowly. I want to render a part of it. How do I solve this problem? Could you help me? Thanks!
Advertisement
Google "culling."
Double post
google for terrain CLOD
Hi JVeron,

Here's a few links to get you started. As pointed out, you'll need to use some form of CLOD. I personally use geomipmapping, although I hear that geoclipmapping is a very good, fairly new technique.

Have a look at the white paper on geomipmapping. This is well written, and gave me enough info to base an implementation on.

Once you've got the basics of geomipmapping up and running, you'll quickly find you have cracks appearing in the terrain. Have a look at this thread about how to solve these cracks.

For very large terrains, if that's what you want to do, you'll need to use some sort of streaming to load / unload areas of the map as necessary. I haven't implemented that yet so can't help much, perhaps others can?

HTH,
Tim
depends on what you want to do.

use clod/geomipmapping if you want to see large areas of your terrain and seeing both very near and very far points in the landscape.

a simple bruce force landscape algo can be much easier and even faster if you see the landscape from the top and the same distance most of the time. the only thing you have to do here is to either update the visible area every time you scroll (like in clod, only you just copy vertices around) or you make small chunks (e.g. 8x8 or 16x16) of the landscape and activate them depending if you can see them.
Microsoft DirectX MVP. My Blog: abi.exdream.com

This topic is closed to new replies.

Advertisement