Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 10 of 11

Thread: CPU/CPU Level of Detail

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Intern Contributor
    Join Date
    Apr 2015
    Posts
    75

    Question CPU/CPU Level of Detail

    Hello , this time my Question maybe more of a theoretical one. For the last couple of weeks i have been exploring the options i have as far as LOD is concerned. First and foremost i am looking for a LOD that will simplify my terrain (or high poly model) the thing is that i don't want to generate different level of details for the terrain but i rather want to have it be dynamic generated, something like the ROAM algorithm where just the part of the mesh i am looking is high poly and the rest is not. In time i may also implement progressive meshing or just different level of details for each mesh as usual. But for now i am looking for something like ROAM. I read somewhere that it is old and not recommended way to go , why is that ?

    PS: That would be the GPU / CPU LOD . Spelling mistake in the title , sorry !
    Last edited by Asmodeus; 01-10-2016 at 03:43 AM.

  2. #2
    Senior Member OpenGL Pro Aleksandar's Avatar
    Join Date
    Jul 2009
    Posts
    1,214
    I strongly recommend you to avoid ROAM. It is an ancient method, from the time when GPUs are slow and the minimization of the number of triangles drawn was of high priority.
    However, nowadays GPUs are extremely powerful. It is harder (and more important) to feed them properly than to digest millions of triangles. ROAM is a CPU based LOD algorithm that places the burden on traversing triangle-hierarchies and mesh optimization on the CPU side.

  3. #3
    Intern Contributor
    Join Date
    Apr 2015
    Posts
    75
    Yea i pretty much got that and i also prefer a GPU based Level of Detail , but i was giving ROAM as an example. I need something that does the same job as ROAM. Meaning the closest part of the mesh is rendered at full resolution and the rest of the mesh depending on the distance from the camera.

  4. #4
    Intern Contributor
    Join Date
    Apr 2015
    Posts
    75
    If roam is not prefered what similar technique should i use , be it CPU or GPU based. Here i found some geometry shader based lod http://rastergrid.com/blog/2010/10/g...-geometry-lod/. But it is not exactly what i need
    Last edited by Asmodeus; 01-12-2016 at 01:07 AM.

  5. #5
    Senior Member OpenGL Pro Aleksandar's Avatar
    Join Date
    Jul 2009
    Posts
    1,214
    Quote Originally Posted by Asmodeus View Post
    First and foremost i am looking for a LOD that will simplify my terrain (or high poly model) the thing is that i don't want to generate different level of details for the terrain but i rather want to have it be dynamic generated, something like the ROAM algorithm where just the part of the mesh i am looking is high poly and the rest is not. In time i may also implement progressive meshing or just different level of details for each mesh as usual.
    First, we should clarify whether you need a terrain LOD scheme or a general mesh LOD scheme. The techniques used in these two schemes are quite different. Although it seems easier to deal with the terrain than with general 3D mesh, it is not the case (if done correctly). The terrain is visible in any part of the scene and resides far into the distance. As far as you can see.

    Quote Originally Posted by Asmodeus View Post
    Yea i pretty much got that and i also prefer a GPU based Level of Detail , but i was giving ROAM as an example. I need something that does the same job as ROAM. Meaning the closest part of the mesh is rendered at full resolution and the rest of the mesh depending on the distance from the camera.
    More or less all LOD algorithms do the same (exact) thing. What does it mean "full resolution"? If I'm high above the surface (let's say 100000m) why should I use 10cm terrain resolution? The metrics used for choosing LOD scheme should select the proper LOD.

    For the terrain rendering, I prefer clipmaps. The chunked LOD algorithm is still in use in various applications, especially if they download chunks through the network connections. There is also some hw tessellation methods, like this included in the DX11 SDK. Or if you need a pixel-precise rendering or there is a triangle-throughput limitation (hi-resolution screens), the usage of ray-cast methods or hybrid ones may be a preferable solution. However, there is a problem of fetching data. Nobody can convince me that there is a better method than clipmapping for that for the terrain without holes or overhangs.

    Quote Originally Posted by Asmodeus View Post
    If roam is not prefered what similar technique should i use , be it CPU or GPU based. Here i found some geometry shader based lod http://rastergrid.com/blog/2010/10/g...-geometry-lod/. But it is not exactly what i need
    I haven't tried that algorithm. Why it is not what you need? In order to boost performance, you should think about optimizing patches, not discrete triangles. Batched Dynamic Adaptive Meshes (BDAM) is a newer algorithm than ROAM, but still pretty old. Maybe you are looking for something like that. Or a C-BDAM version...

  6. #6
    Intern Contributor
    Join Date
    Apr 2015
    Posts
    75
    Here is a visualization at what i am thinking about , maybe the clip will explain that better. https://www.youtube.com/watch?v=PPjWW8uPp3o.What i am trying to explain starts at 1:05.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •