mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-04-20 17:51:19 -05:00
Clearify iteraction
This commit is contained in:
@@ -167,7 +167,7 @@ namespace globebrowsing {
|
||||
int currLevel = chunk.tileIndex().level;
|
||||
|
||||
for (size_t i = 0; i < LayeredTextures::NUM_TEXTURE_CATEGORIES; i++) {
|
||||
for (auto layer : tileProvidermanager->layerGroup(i).activeLayers()) {
|
||||
for (auto& layer : tileProvidermanager->layerGroup(i).activeLayers()) {
|
||||
Tile::Status tileStatus = layer.tileProvider->getTileStatus(chunk.tileIndex());
|
||||
if (tileStatus == Tile::Status::OK) {
|
||||
return UNKNOWN_DESIRED_LEVEL;
|
||||
|
||||
@@ -248,12 +248,10 @@ namespace globebrowsing {
|
||||
// Go through all the categories
|
||||
for (size_t category = 0; category < LayeredTextures::NUM_TEXTURE_CATEGORIES; category++) {
|
||||
// Go through all the providers in this category
|
||||
auto layerGroup = _tileProviderManager->layerGroup(category);
|
||||
const auto& layers = layerGroup.activeLayers();
|
||||
const auto& layers = _tileProviderManager->layerGroup(category).activeLayers();
|
||||
int i = 0;
|
||||
for (auto it = layers.begin(); it != layers.end(); it++) {
|
||||
auto tileProvider = it->tileProvider.get();
|
||||
|
||||
for (const Layer& layer : layers) {
|
||||
TileProvider* tileProvider = layer.tileProvider.get();
|
||||
// Get the texture that should be used for rendering
|
||||
ChunkTile chunkTile = TileSelector::getHighestResolutionTile(tileProvider, tileIndex);
|
||||
if (chunkTile.tile.status == Tile::Status::Unavailable) {
|
||||
@@ -301,7 +299,7 @@ namespace globebrowsing {
|
||||
programUniformHandler,
|
||||
LayeredTextures::TextureCategory(category),
|
||||
i,
|
||||
_tileProviderManager->layerGroup(category).activeLayers()[i].settings);
|
||||
layer.settings);
|
||||
|
||||
/*
|
||||
if (category == LayeredTextures::HeightMaps && chunkTile.tile.preprocessData) {
|
||||
@@ -318,11 +316,10 @@ namespace globebrowsing {
|
||||
|
||||
// Go through all the height maps and set depth tranforms
|
||||
int i = 0;
|
||||
auto heightLayers = _tileProviderManager->layerGroup(LayeredTextures::HeightMaps).activeLayers();
|
||||
for (auto it = heightLayers.begin(); it != heightLayers.end(); it++) {
|
||||
auto tileProvider = it->tileProvider;
|
||||
const auto& heightLayers = _tileProviderManager->layerGroup(LayeredTextures::HeightMaps).activeLayers();
|
||||
|
||||
TileDepthTransform depthTransform = tileProvider->depthTransform();
|
||||
for (const Layer& heightLayer : heightLayers) {
|
||||
TileDepthTransform depthTransform = heightLayer.tileProvider->depthTransform();
|
||||
setDepthTransformUniforms(
|
||||
programUniformHandler,
|
||||
LayeredTextures::TextureCategory::HeightMaps,
|
||||
@@ -357,9 +354,10 @@ namespace globebrowsing {
|
||||
|
||||
bool performAnyBlending = false;
|
||||
|
||||
|
||||
for (int i = 0; i < LayeredTextures::NUM_TEXTURE_CATEGORIES; ++i) {
|
||||
LayeredTextures::TextureCategory category = (LayeredTextures::TextureCategory)i;
|
||||
if(_tileProviderManager->layerGroup(i).levelBlendingEnabled && _tileProviderManager->layerGroup(category).activeLayers().size() > 0){
|
||||
const LayerGroup& layerGroup = _tileProviderManager->layerGroup(i);
|
||||
if(layerGroup.levelBlendingEnabled && layerGroup.activeLayers().size() > 0){
|
||||
performAnyBlending = true;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace globebrowsing {
|
||||
void LayerGroup::update() {
|
||||
_activeLayers.clear();
|
||||
|
||||
for (auto layer : layers) {
|
||||
for (Layer& layer : layers) {
|
||||
if (layer.isActive) {
|
||||
layer.tileProvider->update();
|
||||
_activeLayers.push_back(layer);
|
||||
@@ -157,14 +157,14 @@ namespace globebrowsing {
|
||||
}
|
||||
|
||||
void TileProviderManager::update() {
|
||||
for (auto& layerGroup : layerGroups) {
|
||||
for (LayerGroup& layerGroup : layerGroups) {
|
||||
layerGroup.update();
|
||||
}
|
||||
}
|
||||
|
||||
void TileProviderManager::reset(bool includingInactive) {
|
||||
for (auto layerGroup : layerGroups) {
|
||||
for (auto layer : layerGroup.layers) {
|
||||
for (LayerGroup& layerGroup : layerGroups) {
|
||||
for (Layer& layer : layerGroup.layers) {
|
||||
if (layer.isActive) {
|
||||
layer.tileProvider->reset();
|
||||
}
|
||||
|
||||
@@ -77,9 +77,8 @@ namespace globebrowsing {
|
||||
mostHighResolution.tile = Tile::TileUnavailable;
|
||||
mostHighResolution.uvTransform.uvScale.x = 0;
|
||||
|
||||
auto layers = layerGroup.activeLayers();
|
||||
for (size_t i = 0; i < layers.size(); i++) {
|
||||
ChunkTile chunkTile = getHighestResolutionTile(layers[i].tileProvider.get(), tileIndex);
|
||||
for (const Layer& layer : layerGroup.activeLayers()) {
|
||||
ChunkTile chunkTile = getHighestResolutionTile(layer.tileProvider.get(), tileIndex);
|
||||
bool tileIsOk = chunkTile.tile.status == Tile::Status::OK;
|
||||
bool tileHasPreprocessData = chunkTile.tile.preprocessData != nullptr;
|
||||
bool tileIsHigherResolution = chunkTile.uvTransform.uvScale.x > mostHighResolution.uvTransform.uvScale.x;
|
||||
@@ -97,9 +96,8 @@ namespace globebrowsing {
|
||||
}
|
||||
|
||||
std::vector<ChunkTile> TileSelector::getTilesSortedByHighestResolution(const LayerGroup& layerGroup, const TileIndex& tileIndex) {
|
||||
auto layers = layerGroup.activeLayers();
|
||||
std::vector<ChunkTile> tiles;
|
||||
for (auto layer : layers){
|
||||
for (const Layer& layer : layerGroup.activeLayers()){
|
||||
tiles.push_back(getHighestResolutionTile(layer.tileProvider.get(), tileIndex));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user