Need some help with Terrain Mesh Simplification and LOD approaches for RTS. RTQ or Fast Quadric Approximation?

Started by
0 comments, last by Devem 3 years, 8 months ago

Hello.

I am working in a custom terrain renderer for RTS games as I'm a big fan of them and would like to roll my own little project one day.

Right now I'm tackling the issue of terrain LOD and terrain simplification and, to do so, I have been doing some research on how some of my favourite games might be doing theirs. I'm thinking of games like COH, World In Conflict, Tom Clancy's End War, Wargame, Supreme Commander or Hearts of Iron. They are very different but I think I have been able to spot the two main philosophies to control terrain detail. Below I do a small introduction of the whole area, if you don't want to read it, jump to the TL;DR ?

As far as I see it, terrain LOD approaches are directly linked with the mesh resolution, degrees of freedom of the camera and the view distance in the horizon. There are two approaches and each one gives some advantages and some tradeoffs:

If we want a free camera with which players can see far away in the horizon and we want a good terrain resolution and big terrains, the best approach is to use a CLOD algorithm like Chunked LODs or CDLOD which does exactly this. While I'm not sure, I feel this is the approach used by games like Wargame (or R.U.S.E from the same company) and, I'm completely sure, World In Conflict, as I downloaded the editor and it seems the game is divided in fixed size patches that change lod as one changes distances with them, which makes me thing it uses a Chunked LOD approach.

The second approach, is the one followed by games like COH or Supreme Commander and, I'm not sure, games like Hearts of Iron or CIV. These games don't use CLOD, compromising on terrain resolution (Supreme Commander or HOI), camera freedom (CIV or HOI ) or view distance (COH). Instead of using CLOD, they seem to use some mesh simplification algorithm in order to add detail in the parts of the mesh that need them and remove it from others. That allows them to, instead, have a much better mesh vertex distribution than a CLOD approach as detail is added only where needed.

TL; DR

I'm starting with this second approach of using mesh simplifications algorithms and my main doubt right now is which simplification algorithm I should pick. As far as I see it, there are two options:

COH and Supreme Commander, from a look at their terrain wireframes, seem to use a RTQ (Restricted Tessellation Quadtree) aproach, where a quadtree is used to generate the mesh. This can be seen by taking a look at the structure of the quads of their terrain. An explanation of the method is here. I'm doubtful of how am I supposed to calculate the threshold that decides if I need to keep subdividing. Do i take samples for the 9 vertices that compromise a quad and calculate their height difference? Should I also consider the quad size when doing so, as 9 vertices from a node at depth 1 is not the same as 9 vertices from a node of depth 6?

The other approach, using an algorithm like Fast Quadric Approximation, seems to simplify the mesh very fast but I have not seen any games using them. It seems to provide a very good approximation of the original mesh but due to the algorithms' procedure, the final mesh doesn't have a quad topology and might not be a good approach if one whishes to apply tessellation on it (for example for supporting terrain modification). Maybe this approach could be used for games like HOI where the map is not modified?

Thank you very much!

This topic is closed to new replies.

Advertisement