mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-04-24 13:08:49 -05:00
Merge branch 'feature/globebrowsing' of github.com:OpenSpace/OpenSpace-Development into feature/globebrowsing
This commit is contained in:
@@ -140,11 +140,10 @@ namespace openspace {
|
||||
desiredLevel = _chunkEvaluatorByDistance->getDesiredLevel(chunk, renderData);
|
||||
}
|
||||
|
||||
if (debugOptions.limitLevelByAvailableHeightData) {
|
||||
int desiredLevelByAvailableData = _chunkEvaluatorByAvailableTiles->getDesiredLevel(chunk, renderData);
|
||||
if (desiredLevelByAvailableData != ChunkLevelEvaluator::UNKNOWN_DESIRED_LEVEL) {
|
||||
desiredLevel = min(desiredLevel, desiredLevelByAvailableData);
|
||||
}
|
||||
|
||||
int desiredLevelByAvailableData = _chunkEvaluatorByAvailableTiles->getDesiredLevel(chunk, renderData);
|
||||
if (desiredLevelByAvailableData != ChunkLevelEvaluator::UNKNOWN_DESIRED_LEVEL) {
|
||||
desiredLevel = min(desiredLevel, desiredLevelByAvailableData);
|
||||
}
|
||||
|
||||
desiredLevel = glm::clamp(desiredLevel, minSplitDepth, maxSplitDepth);
|
||||
|
||||
@@ -113,8 +113,6 @@ namespace openspace {
|
||||
|
||||
bool doHorizonCulling = true;
|
||||
bool doFrustumCulling = true;
|
||||
|
||||
bool limitLevelByAvailableHeightData = true;
|
||||
bool levelByProjAreaElseDistance = true;
|
||||
} debugOptions;
|
||||
|
||||
|
||||
@@ -165,17 +165,18 @@ namespace openspace {
|
||||
auto heightMapProviders = tileProvidermanager->getTileProviderGroup(LayeredTextures::HeightMaps).getActiveTileProviders();
|
||||
int currLevel = chunk.index().level;
|
||||
|
||||
// simply check the first heigtmap
|
||||
if (heightMapProviders.size() > 0) {
|
||||
Tile::Status heightTileStatus = heightMapProviders[0]->getTileStatus(chunk.index());
|
||||
if (heightTileStatus == Tile::Status::IOError || heightTileStatus == Tile::Status::OutOfRange) {
|
||||
return currLevel-1;
|
||||
}
|
||||
for (size_t i = 0; i < LayeredTextures::NUM_TEXTURE_CATEGORIES; i++) {
|
||||
auto tileProviderGroup = tileProvidermanager->getTileProviderGroup(i);
|
||||
for (auto tileProvider : tileProviderGroup.getActiveTileProviders()) {
|
||||
Tile::Status tileStatus = tileProvider->getTileStatus(chunk.index());
|
||||
|
||||
return UNKNOWN_DESIRED_LEVEL;
|
||||
if (tileStatus == Tile::Status::OK) {
|
||||
return UNKNOWN_DESIRED_LEVEL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return UNKNOWN_DESIRED_LEVEL;
|
||||
return currLevel - 1;;
|
||||
}
|
||||
|
||||
} // namespace openspace
|
||||
|
||||
@@ -109,7 +109,6 @@ namespace openspace {
|
||||
debugSelection.addOption("Culling: Horizon", &_chunkedLodGlobe->debugOptions.doHorizonCulling);
|
||||
|
||||
debugSelection.addOption("Level by proj area (else distance)", &_chunkedLodGlobe->debugOptions.levelByProjAreaElseDistance);
|
||||
debugSelection.addOption("Level limited by available data", &_chunkedLodGlobe->debugOptions.limitLevelByAvailableHeightData);
|
||||
|
||||
// Add all tile layers as being toggleable for each category
|
||||
for (int i = 0; i < LayeredTextures::NUM_TEXTURE_CATEGORIES; i++){
|
||||
|
||||
Reference in New Issue
Block a user