TileProvider serves tiles with highest available resolution and a corresponding translation and scaling, given a tileIndex

This commit is contained in:
Erik Broberg
2016-05-09 22:12:19 -04:00
parent a816b71a5a
commit f8d257b5bc
7 changed files with 118 additions and 45 deletions
@@ -146,7 +146,7 @@ namespace openspace {
for (int j = numLevelsToLoop; j >= 0; j--)
{
// Try if the texture exists
std::shared_ptr<Texture> tile = tileProvider->getTile(positiveTileIndex);
std::shared_ptr<Texture> tile = tileProvider->getOrStartFetchingTile(positiveTileIndex);
if (tile == nullptr)
{ // If it doesn't exist, go down a level
tileIndex.x /= 2;
@@ -165,7 +165,7 @@ namespace openspace {
if (patchCoverageToReturn.textureTransformPairs[linearIdx].first == nullptr)
{
patchCoverageToReturn.textureTransformPairs[linearIdx].first =
tileProvider->getTemporaryTexture();
tileProvider->getDefaultTexture();
patchCoverageToReturn.textureTransformPairs[linearIdx].second =
getUvTransformationPatchToTile(patch, tileIndex);
}