Clearify iteraction

This commit is contained in:
Erik Broberg
2016-10-19 15:02:39 +02:00
parent 331191bf03
commit 0d02844982
4 changed files with 18 additions and 22 deletions
@@ -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;
+10 -12
View File
@@ -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();
}
+3 -5
View File
@@ -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));
}