Game Development Community

Chunked Level of Detail Implementation

by Jack Stone · in General Discussion · 02/01/2015 (6:34 am) · 0 replies

Hello,

I am currently working on a Spherical Terrain implementation, and I have successfully created the spherical terrain object itself. I currently have every vertex point stored in a buffer, and I am rendering the entire thing every frame. Collision is done in the same way, using the entire mesh as the collision volume.

Obviously, this needs to be optimised in order to render anything other than a very simple spherical terrain.

I have chosen to use CLOD since it seems to be the simplest and most effective solution.

However, despite my research, I am still uncertain as to how to implement a CLOD solution for my spherical terrain.

I understand the concept, but I have some fundamental questions regarding the implementation.

I understand that I need to create a quadtree to store the information, but do I need to have a different quadtree for each LOD?
So, for example, during initialisation, I would create, say, 6 seperate meshes, each with a different LOD, and store each mesh in memory in a quadtree structure. Then, during rendering, I would select a quadtree based on the distance from the player (so higher resolution quadtrees would be selected first, then lower resolution ones) and I would add the vertices from the different quadtrees into the same buffer. Then I would perform some processing on the edges, to remove the seaming effect between adjoining regions of different LOD, and then render.

Is this any way correct? I have never seen any implementation describing the use of multiple quadtrees, which leads me to believe that I have gotten something wrong somewhere.