Jump to content
  • Advertisement
Sign in to follow this  
Triad_prague

A good heightmap LOD technique (no VTF please)

This topic is 2490 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

Hi, I'm kinda confused now. I'm trying to make an island with a heightmap of size 1025*1025. It can't be possible without LOD in my PC (p4 2.26 GHZ, GF7300GT, 1GB ram). I've been hearing the geoclipmapping methot mentioned, but when I read the paper it said that it used VTF (vertex texture fetching). That's just inaffordable for me (I downloaded a simple demo consisting of a 128*128 grid with VTF and it just as slow as hell). So I don't think I will use that. Can you suggest any other good methods that use no VTF but still can achieve a huge framerate? (kinda sick when my PC is just too old :( )

basically I need a LOD scheme with these constraints:
- no VTF
- support at least 1025*1025 (2049*2049 is highly appreciated)
- support terrain editing (my game would be a business simulation game)
- quite simple

currently I'm looking at an article presented by the maker of SoulRide[sup]tm[/sup], but I need as much reading as I could get, and I run out of keywords here, hehe

Share this post


Link to post
Share on other sites
Advertisement
Yes I'd like to know too, I've been looking for a while and still don't have a good solution. Its one major feature missing in my engine grrr.

Share this post


Link to post
Share on other sites

basically I need a LOD scheme with these constraints:
- no VTF
- support at least 1025*1025 (2049*2049 is highly appreciated)
- support terrain editing (my game would be a business simulation game)
- quite simple

1st step: consider brute force it (albeit the hardware limit for your video card could be around 1 Mega points, I don't remember).
I'm not familiar with 7300 but GeForce4 could render 256k vertices with ease in a single batch. 6600 could do 2-4 vertices per pixel and still run interactive!
Anyway, look into geo-mipmapping. It is simple. It has basically no limit on point count. It runs on everything (CPU-based, preprocessing).
It does not natively support terrain modification but it's fairly close. Hopefully it will allow an incremental operation on data structures.

As a side note VTF is very viable on midrange GeForce since generation 6xxx (albeit initial drivers were a bit slow).
When it comes to 7300 I'm afraid it either does not support the feature or it is extremely bandwidth-constrained (if memory serves VTF required 32bit float channels).

Share this post


Link to post
Share on other sites
You may use same vertex buffer but with different index buffer for LoD > 0.

For example, If your terrain is split into 16x16 sectors.

LOD0 IB = 16x16 cells
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
32,33,34,...

LOD1 IB = 8x8 cells
0,2,4,6,8,10,12,14,16
17,19,21,23,...

LOD2 IB = 4x4 cells..

Share this post


Link to post
Share on other sites

Geomipmapping should work fairly well... 1025 is not a large terrain.


I've got a [s]geomipmapping[/s] geoclipmapping (doh) implementation that can render 128km square terrain with 1m the highest resolution on weaker cards at 10ms/frame (100fps). And thats with a terribly inefficient, unoptimized implementation. As long as the card supports SM3.0 you geomipmapping should work great.

Share this post


Link to post
Share on other sites

Great paper, has anyone thought of using disc shapes instead of grids and just scale with view height?

Hi Lee smile.png , the point of using a grid is its simplicity... How would you implement something similar to the L-Shaped strip that is used to reduce flickering of vertices?

There is also CDLOD.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • 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!