Closed Schneegans closed 1 year ago
Changes Missing Coverage | Covered Lines | Changed/Added Lines | % | ||
---|---|---|---|---|---|
plugins/csp-lod-bodies/src/BaseTileData.hpp | 0 | 1 | 0.0% | ||
plugins/csp-lod-bodies/src/MinMaxPyramid.cpp | 0 | 1 | 0.0% | ||
plugins/csp-lod-bodies/src/TreeManager.hpp | 0 | 1 | 0.0% | ||
plugins/csp-lod-bodies/src/TileBounds.cpp | 0 | 3 | 0.0% | ||
plugins/csp-lod-bodies/src/TileTextureArray.hpp | 0 | 3 | 0.0% | ||
plugins/csp-lod-bodies/src/LodBody.cpp | 0 | 5 | 0.0% | ||
src/cosmoscout/Application.cpp | 0 | 6 | 0.0% | ||
plugins/csp-lod-bodies/src/TileDataType.hpp | 0 | 7 | 0.0% | ||
plugins/csp-lod-bodies/src/BaseTileData.cpp | 0 | 9 | 0.0% | ||
plugins/csp-lod-bodies/src/TileData.hpp | 0 | 10 | 0.0% | ||
<!-- | Total: | 0 | 510 | 0.0% | --> |
Files with Coverage Reduction | New Missed Lines | % | ||
---|---|---|---|---|
plugins/csp-lod-bodies/src/TileRenderer.hpp | 1 | 0% | ||
plugins/csp-lod-bodies/src/TreeManager.cpp | 1 | 0% | ||
plugins/csp-simple-bodies/src/SimpleBody.hpp | 1 | 0% | ||
plugins/csp-timings/src/Plugin.hpp | 1 | 0% | ||
plugins/csp-lod-bodies/src/LODVisitor.cpp | 2 | 0% | ||
plugins/csp-lod-bodies/src/TileSourceWebMapService.cpp | 2 | 0% | ||
plugins/csp-lod-bodies/src/TileTextureArray.cpp | 2 | 0% | ||
plugins/csp-simple-bodies/src/Plugin.hpp | 2 | 0% | ||
plugins/csp-lod-bodies/src/TileRenderer.cpp | 4 | 0% | ||
plugins/csp-lod-bodies/src/VistaPlanet.cpp | 4 | 0% | ||
<!-- | Total: | 299 | --> |
Totals | |
---|---|
Change from base Build 4879765184: | 0.03% |
Covered Lines: | 193 |
Relevant Lines: | 16565 |
This PR continues the major refactoring of
csp-lod-bodies
. This time, about 1.5k lines of code have been removed. At the same time, the CPU performance has been greatly improved (a scene which required about 5ms on the CPU takes now about 1.5ms on my Linux workstation). Also, this PR paves the way to other improvements such as parallel tree traversal or multiple image channels. Here are the main changes:TileNode
now simply stores aTileData
for the elevation and image data. Before there were two quad trees managed in parallel, one for elevation tiles and one for image tiles. There were node searches and indirections viaTileId
s all over the place. This is now much more streamlined.PerDataType
has been added. This is now used in places where were there used to be amMemberDEM
and amMemberIMG
. Consequently, a lot of duplicated code has been removed. Also, this will allow us theoretically to add more data channels in the future.UpdateBoundsVisitor
has been removed. Tile bounds are now recomputed only if required on-the-fly duringLODVisitor
traversal.