Which terrain-rendering technique should I use?
Hi,
I am writing a game engine, hoping to have the whole thing done in 4 months... Anyways I''m about 1 month into development so all the basic stuff is done so I''m probably going to start writing the terrain rendering code soon...
I bought Trent Polack''s book, Focus on 3D Terrain programming... It looks pretty good, has CLOD, Quadtree, and ROAM algos explained. Another one that I heard mentioned recently was a terrain renderer based on Bezier patches so that might be an option. I''m not quite sure which algorithm I should focus on implementing though.
What I''m looking for is an algorithm which is very efficient for rendering large outdoor landscapes (like, a racing game where you race through the countryside) where the camera is nearly horizontal to the ground plane... So LOD will be important but perhaps not as important as a flight simulator.
Ideally it would be simple enough to implement that it''d only take one or two weeks of work. Also, it would lend itself to easy generation, either through some sort of procedural heightmap generator, or through a world editor.
Anyways if anyone might know which algorithm is best in this case, I''d really appreciate any pointers!
Thank you,
Raj
There are many possible ways to try. After one year or more experiments I close a nearly perfect compromise. The main advice I can give you is try to meet the extreme viewpoints of the theorical schemes (ROAM etc..), efficient mostly in theory (too far from optimal hardware complient structures) and what's closer to brute force on the other side (not efficient because no CLOD). Use small clusters (quads, whatever structure you can find out) to render vertex buffers with indexed arrays, strips or fans will the least CPU and GPU time possible. Try to cache as much as possible. Process time can nearly always be spared by a wise usage of memory and bandwidth. Also don't hesitate to use the power of CPU. Weighting everything on the GPU or the algos is not the way.
Try to understand every viewpoint in depth pick what you feel the most relevant and efficient and do your own cooking. Or simply think by yourself fisrt, that's what I usually do the most, but you obviously can't afford that time. Else if your lazy just test the many code samples available but to me that's far less exciting than trying one's own ideas.
Start with the "Virtual Terrain Project" (google).
Else if you can wait a bit ask Yann L, or wait till I finish my next version. I think these are the best technologies that would meet your needs I have seen so far on the web. Alas mine is bound to a game project I participate. Seems the french currently a have a leadership in terrain rendering tho we're very demonstrative
[edited by - Charles B on October 9, 2003 5:28:21 PM]
Try to understand every viewpoint in depth pick what you feel the most relevant and efficient and do your own cooking. Or simply think by yourself fisrt, that's what I usually do the most, but you obviously can't afford that time. Else if your lazy just test the many code samples available but to me that's far less exciting than trying one's own ideas.
Start with the "Virtual Terrain Project" (google).
Else if you can wait a bit ask Yann L, or wait till I finish my next version. I think these are the best technologies that would meet your needs I have seen so far on the web. Alas mine is bound to a game project I participate. Seems the french currently a have a leadership in terrain rendering tho we're very demonstrative
[edited by - Charles B on October 9, 2003 5:28:21 PM]
search for Hughes Hoppes homepage on google, he has a couple articles on how to create efficient terrain rendering algorithms that are rather cutting edge.
Thank optical. I did not think about H.H. articles but yep they are great and highly pro sources of info.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement