Archived

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

HellRaiZer

Terrain LOD. How to... (??)

Recommended Posts

HellRaiZer    1001
Hello... I was wondering if someone can point me to some tutorials on Terrain LOD. While i was searching the net, i found some papers on the subject, but i want something more detailed and for beginners. I found an article at Gamasutra on Terrain LOD using adaptive binary trees, by Thatcher Ulrich, which explains the algorithm quite well. Also with the code that comes with the article, i begin to understand some things on the subject. After some "fight" with it (the code), i finally managed to make it run in a way i can undersatand better. But i think the whole algo is very advance, and i don''t want to use something i don''t fully understand. If i don''t find some detailed tutorials to read and learn on terrain lod, i''ll use it as is, but i don''t want that!!! I mean, the algorithm seems to work fine. I tried it with different type of height fields (from completely flat 512x512 terrain to a very hilly one) and as far as i can say, i think it works great.(for example, what i was expected from the completly flat terrain was only 4 triangles for it, and the code made it!!!) But i don''t understand some part of it, so i cannot change something i want, or apply something more. You will say, "Why bother change the algo, it is great as is!". Eh... i don''t want that! I think you got my point. So if someone can point me to some introductory tutorials on the subject, i''d be glad to hear it. Thanks in advance, and forgive my english! HellRaiZer

Share this post


Link to post
Share on other sites
Adrian L    122
There is a thread going on at opengl.org talking about various terrain rendering algos you might find useful.

http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/010213.html

Personally I find a ''tiled LOD'' approach to work well. I talk about it in the above thread.

I''m not sure varying LOD per vertex is worth doing anymore. We can render polys so fast these days it''s becoming less important. We still need LOD but not such a ''fine grained'' implementation imo.

Share this post


Link to post
Share on other sites
HellRaiZer    1001
Thanks for the link. I just saved it and i''ll read it.

I found a demo on the net, called Tri-Strip LOD. It has some kind of tutorial (not very detailed), but the demo seems very good. But... there is no source.

Thenks again. Anything more appreciated.

HellRaiZer

Share this post


Link to post
Share on other sites
okonomiyaki    548
I found Chunked LOD extremely easy and practical. I love it, Terrain is incredibly efficient on my system, and I can literally render as far as I want to without barely ANY performance hit. Rendering a 1024x1024 terrain would barely be any different than a 40k x 40k terrain. Awesome.
Also, because of its recursive nature, it was very easy to save the Chunked LOD in a file. Use the same recursive function to read it out, and I have instant loading time. I guess you could save any Terrain type in a file, but I found it was very user-friendly in this aspect, it did most of the work. All it took was 2 functions and about 10 lines of code to save. (Another 10 to load.)
Another also, it''s very friendly with out-of-core paging. Because it''s based on the fact that the farther a way a chunk is, the bigger it is and less detailed, you can use it in this way: As the viewer walks closer to the chunk, simply split it and load it''s 4 children. If walking away, release a block of 4 chunks and load in the parent. Since your dealing with very little vertices especially (the distance is far) the loading time is really quick. By the time he gets close enough to have loaded in the highest detail chunk, everything else would already loaded in and you just have to load in a couple high detailed chunks, but since the chunks are smaller it''s about the same speed as loading in a bigger one. So you are never stuck with loading a big chunk of a lot of vertices.
Anyway, I found it really pleasing, cracks were easy to fix and a simple algorithm factoring in distance gives the geomorphing factor, and that was easy as well. I''d definitely look into Chunked LOD.

Share this post


Link to post
Share on other sites
HellRaiZer    1001
okonomiyaki could you please suggest some tutorials to start with?? The way you started, what you read, etc. I want something to start thinking the lod way (!!!). Please, don''t post "Google and you''ll find.." Pleeease, if you don''t have links, then the titles of the tuts and papers.

Thanks.

HellRaiZer

Share this post


Link to post
Share on other sites
HellRaiZer    1001
Also, i wanted to say my progress.

I made the next step, from full rendering to quad tree based rendering. I built a quad tree for the heightmap, calculate bboxes and perform frustum culling while rendering. But this is not LOD.

Thanks for the attention, and pleease some tuts!!!

HellRaiZer

Share this post


Link to post
Share on other sites