cosmoscout / cosmoscout-vr

:milky_way: A virtual universe which lets you explore, analyze and present huge planetary datasets and large simulation data in real-time.
Other
347 stars 27 forks source link

LoD Body Refactoring #329

Closed Schneegans closed 1 year ago

Schneegans commented 1 year ago

This pull request tries to optimize the rendering performance of the csp-lod-bodies plugin. For this, it does the following:

However, it does not:

The main advantages are:

The main drawbacks of this approach are:

Other notes:

coveralls commented 1 year ago

Pull Request Test Coverage Report for Build 4204419213


Changes Missing Coverage Covered Lines Changed/Added Lines %
plugins/csp-lod-bodies/src/MinMaxPyramid.hpp 0 1 0.0%
plugins/csp-lod-bodies/src/RenderDataDEM.cpp 0 1 0.0%
plugins/csp-lod-bodies/src/TileBounds.cpp 0 1 0.0%
plugins/csp-lod-bodies/src/PlanetShader.cpp 0 2 0.0%
plugins/csp-lod-bodies/src/Tile.hpp 0 2 0.0%
plugins/csp-lod-bodies/src/TerrainShader.cpp 0 4 0.0%
plugins/csp-lod-bodies/src/TileBase.cpp 0 4 0.0%
plugins/csp-lod-bodies/src/TileNode.cpp 0 4 0.0%
plugins/csp-lod-bodies/src/TileTextureArray.hpp 0 5 0.0%
plugins/csp-lod-bodies/src/VistaPlanet.cpp 0 6 0.0%
<!-- Total: 0 243 0.0% -->
Files with Coverage Reduction New Missed Lines %
plugins/csp-lod-bodies/src/Plugin.cpp 1 0%
plugins/csp-lod-bodies/src/RenderDataDEM.cpp 1 0%
plugins/csp-lod-bodies/src/TileBase.hpp 1 0%
plugins/csp-lod-bodies/src/Tile.hpp 1 0%
plugins/csp-lod-bodies/src/TileNode.cpp 1 0%
plugins/csp-lod-bodies/src/TileRenderer.hpp 1 0%
plugins/csp-lod-bodies/src/TileSourceWebMapService.cpp 1 0%
plugins/csp-lod-bodies/src/TileTextureArray.hpp 1 0%
plugins/csp-lod-bodies/src/LodBody.cpp 2 0%
plugins/csp-lod-bodies/src/MinMaxPyramid.cpp 2 0%
<!-- Total: 30 -->
Totals Coverage Status
Change from base Build 4103295433: 0.06%
Covered Lines: 515
Relevant Lines: 16567

๐Ÿ’› - Coveralls
Schneegans commented 1 year ago

Thanks a lot for this review! I hope that I addressed all of your concerns :smile:. Do you have any feedback regarding the chosen default values?

JonasGilg commented 1 year ago

Thanks a lot for this review! I hope that I addressed all of your concerns ๐Ÿ˜„. Do you have any feedback regarding the chosen default values?

One last comment remains. Otherwise it works great. I tried to break it with everything I could throw at it, but with the default configuration I wasn't able to find any bugs or holes in the ground. Only when I manually turned the LOD factor below 10 I was able to create situations where the planet surface had gaps between tiles, but at that point the application became useless anyways.

This is a great improvement. The render times are amazing!