Merge branch 'feature/globebrowsing' of github.com:OpenSpace/OpenSpace-Development into feature/globebrowsing

This commit is contained in:
Kalle
2016-07-13 11:31:54 -04:00
4 changed files with 13 additions and 16 deletions
@@ -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++){