From 6dc2ced6131ca9e4ea8f92676055fd5354411678 Mon Sep 17 00:00:00 2001 From: Erik Broberg Date: Wed, 25 May 2016 15:48:46 -0400 Subject: [PATCH] Removed unused class TextureTileSet --- modules/globebrowsing/CMakeLists.txt | 2 - .../other/TileProviderManager.cpp | 2 +- .../globebrowsing/other/texturetileset.cpp | 185 ------------------ modules/globebrowsing/other/texturetileset.h | 105 ---------- .../globebrowsing/rendering/patchrenderer.h | 1 - 5 files changed, 1 insertion(+), 294 deletions(-) delete mode 100644 modules/globebrowsing/other/texturetileset.cpp delete mode 100644 modules/globebrowsing/other/texturetileset.h diff --git a/modules/globebrowsing/CMakeLists.txt b/modules/globebrowsing/CMakeLists.txt index 4e1b191bce..857d3e7f37 100644 --- a/modules/globebrowsing/CMakeLists.txt +++ b/modules/globebrowsing/CMakeLists.txt @@ -49,7 +49,6 @@ set(HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/rendering/aabb.h ${CMAKE_CURRENT_SOURCE_DIR}/other/distanceswitch.h - ${CMAKE_CURRENT_SOURCE_DIR}/other/texturetileset.h ${CMAKE_CURRENT_SOURCE_DIR}/other/patchcoverageprovider.h ${CMAKE_CURRENT_SOURCE_DIR}/other/tileprovider.h ${CMAKE_CURRENT_SOURCE_DIR}/other/texturedataprovider.h @@ -86,7 +85,6 @@ set(SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/rendering/aabb.cpp ${CMAKE_CURRENT_SOURCE_DIR}/other/distanceswitch.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/other/texturetileset.cpp ${CMAKE_CURRENT_SOURCE_DIR}/other/patchcoverageprovider.cpp ${CMAKE_CURRENT_SOURCE_DIR}/other/tileprovider.cpp ${CMAKE_CURRENT_SOURCE_DIR}/other/texturedataprovider.cpp diff --git a/modules/globebrowsing/other/TileProviderManager.cpp b/modules/globebrowsing/other/TileProviderManager.cpp index 8b5cf75895..4e6531a152 100644 --- a/modules/globebrowsing/other/TileProviderManager.cpp +++ b/modules/globebrowsing/other/TileProviderManager.cpp @@ -31,7 +31,7 @@ namespace { namespace openspace { - ThreadPool TileProviderManager::tileRequestThreadPool(1); + ThreadPool TileProviderManager::tileRequestThreadPool(15); TileProviderManager::TileProviderManager() diff --git a/modules/globebrowsing/other/texturetileset.cpp b/modules/globebrowsing/other/texturetileset.cpp deleted file mode 100644 index 0ae0475f19..0000000000 --- a/modules/globebrowsing/other/texturetileset.cpp +++ /dev/null @@ -1,185 +0,0 @@ -/***************************************************************************************** -* * -* OpenSpace * -* * -* Copyright (c) 2014-2016 * -* * -* Permission is hereby granted, free of charge, to any person obtaining a copy of this * -* software and associated documentation files (the "Software"), to deal in the Software * -* without restriction, including without limitation the rights to use, copy, modify, * -* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to * -* permit persons to whom the Software is furnished to do so, subject to the following * -* conditions: * -* * -* The above copyright notice and this permission notice shall be included in all copies * -* or substantial portions of the Software. * -* * -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * -* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * -* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * -* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * -* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE * -* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -****************************************************************************************/ - -#include - -#include -#include - -#include -#include -#include - -#include - -#include "gdal_priv.h" -#include "cpl_conv.h" // for CPLMalloc() - -#include - -namespace { - const std::string _loggerCat = "TextureTileSet"; -} - -namespace openspace { - - TextureTileSet::TextureTileSet( - Geodetic2 sizeLevel0, - Geodetic2 offsetLevel0, - int depth) - : _sizeLevel0(sizeLevel0) - , _offsetLevel0(offsetLevel0) - , _depth(depth) - { - /* - - - // Read using GDAL - - //std::string testFile = absPath("map_service_configs/TERRA_CR_B143_2016-04-12.wms"); - //std::string testFile = absPath("map_service_configs/TERRAIN.wms"); - std::string testFile = absPath("textures/earth_bluemarble.jpg"); - - - GDALDataset *poDataset; - GDALAllRegister(); - poDataset = (GDALDataset *)GDALOpen(testFile.c_str(), GA_ReadOnly); - - assert(poDataset != nullptr, "Unable to read dataset" << testFile); - TextureDataProvider conv; - - GeodeticTileIndex ti(0, 0, 0); - - _testTexture = conv.convertToOpenGLTexture(poDataset, ti, GL_UNSIGNED_BYTE); - - _testTexture->uploadTexture(); - _testTexture->setFilter(ghoul::opengl::Texture::FilterMode::Linear); - - */ - /* - // Set e texture to test - std::string fileName = "textures/earth_bluemarble.jpg"; - //std::string fileName = "../../../build/tiles/tile5_8_12.png"; - //std::string fileName = "tile5_8_12.png"; - _testTexture = std::move(ghoul::io::TextureReader::ref().loadTexture(absPath(fileName))); - - if (_testTexture) { - LDEBUG("Loaded texture from '" << "textures/earth_bluemarble.jpg" << "'"); - _testTexture->uploadTexture(); - - // Textures of planets looks much smoother with AnisotropicMipMap rather than linear - // TODO: AnisotropicMipMap crashes on ATI cards ---abock - //_testTexture->setFilter(ghoul::opengl::Texture::FilterMode::AnisotropicMipMap); - _testTexture->setFilter(ghoul::opengl::Texture::FilterMode::Linear); - } - - */ - } - - TextureTileSet::~TextureTileSet(){ - - } - - ChunkIndex TextureTileSet::getChunkIndex(const GeodeticPatch& patch) { - // Calculate the level of the index depanding on the size of the incoming patch. - // The level is as big as possible (as far down as possible) but it can't be - // too big since at maximum four tiles should be used to cover a patch - int level = log2(static_cast(glm::max( - _sizeLevel0.lat / (patch.size().lat), - _sizeLevel0.lon / (patch.size().lon)))); - - // If the depth is not big enough, the level must be clamped. - level = glm::min(level, _depth); - - // Calculate the index in x y where the tile should be positioned - Vec2 tileSize = _sizeLevel0.toLonLatVec2() / pow(2, level); - Vec2 nw = patch.northWestCorner().toLonLatVec2(); - Vec2 offset = _offsetLevel0.toLonLatVec2(); - glm::ivec2 tileIndexXY = (nw - offset) / tileSize; - - // Flip y since indices increase from top to bottom - //tileIndexXY.y = pow(2, level - 1) - tileIndexXY.y; - - // Create the tileindex - ChunkIndex chunkIndex = { tileIndexXY.x, tileIndexXY.y, level }; - return chunkIndex; - } - - std::shared_ptr TextureTileSet::getTile(const GeodeticPatch& patch) { - return getTile(getChunkIndex(patch)); - } - - std::shared_ptr TextureTileSet::getTile(const ChunkIndex& chunkIndex) { - return _testTexture; - } - - GeodeticPatch TextureTileSet::getTilePositionAndScale( - const ChunkIndex& chunkIndex) { - Geodetic2 tileSize = Geodetic2( - _sizeLevel0.lat / pow(2, chunkIndex.level), - _sizeLevel0.lon / pow(2, chunkIndex.level)); - Geodetic2 northWest = Geodetic2( - _offsetLevel0.lat + chunkIndex.y * tileSize.lat, - _offsetLevel0.lon + chunkIndex.x * tileSize.lon); - - return GeodeticPatch( - Geodetic2(northWest.lat - tileSize.lat / 2, northWest.lon + tileSize.lon / 2), - Geodetic2(tileSize.lat / 2, tileSize.lon / 2)); - } - - glm::mat3 TextureTileSet::getUvTransformationPatchToTile( - GeodeticPatch patch, - const ChunkIndex& chunkIndex) - { - GeodeticPatch tile = getTilePositionAndScale(chunkIndex); - return getUvTransformationPatchToTile(patch, tile); - } - - glm::mat3 TextureTileSet::getUvTransformationPatchToTile( - GeodeticPatch patch, - GeodeticPatch tile) - { - Vec2 posDiff = - patch.southWestCorner().toLonLatVec2() - - tile.southWestCorner().toLonLatVec2(); - - glm::mat3 invTileScale = glm::mat3( - { 1 / (tile.size().lon), 0, 0, - 0, 1 / (tile.size().lat), 0, - 0, 0, 1 }); - - glm::mat3 globalTranslation = glm::mat3( - { 1, 0, 0, - 0, 1, 0, - posDiff.x, posDiff.y, 1 }); - - glm::mat3 patchScale = glm::mat3( - { (patch.halfSize().lon * 2), 0, 0, - 0, (patch.halfSize().lat * 2), 0, - 0, 0, 1 }); - - return invTileScale * globalTranslation * patchScale; - } - -} // namespace openspace diff --git a/modules/globebrowsing/other/texturetileset.h b/modules/globebrowsing/other/texturetileset.h deleted file mode 100644 index 082157400d..0000000000 --- a/modules/globebrowsing/other/texturetileset.h +++ /dev/null @@ -1,105 +0,0 @@ -/***************************************************************************************** -* * -* OpenSpace * -* * -* Copyright (c) 2014-2016 * -* * -* Permission is hereby granted, free of charge, to any person obtaining a copy of this * -* software and associated documentation files (the "Software"), to deal in the Software * -* without restriction, including without limitation the rights to use, copy, modify, * -* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to * -* permit persons to whom the Software is furnished to do so, subject to the following * -* conditions: * -* * -* The above copyright notice and this permission notice shall be included in all copies * -* or substantial portions of the Software. * -* * -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * -* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * -* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * -* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * -* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE * -* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * -****************************************************************************************/ - -#ifndef __TEXTURETILESET_H__ -#define __TEXTURETILESET_H__ - -#include -#include - -#include -#include -#include - - -////////////////////////////////////////////////////////////////////////////////////////// -// TEXTURE TILE SET // -////////////////////////////////////////////////////////////////////////////////////////// - -namespace openspace { - - using namespace ghoul::opengl; - - class TextureTileSet - { - public: - TextureTileSet( - Geodetic2 sizeLevel0, - Geodetic2 offsetLevel0, - int depth); - ~TextureTileSet(); - - /** - Returns the index of the tile at an appropriate level. - Appropriate meaning that the tile should be at as high level as possible - Without the tile being smaller than the patch in lat-lon space. - The tile is at least as big as the patch. - */ - ChunkIndex getChunkIndex(const GeodeticPatch& patch); - - /** - Returns a texture that can be used for the specified patch - */ - std::shared_ptr getTile(const GeodeticPatch& patch); - - /** - Returns the texture for the given tile index. The indices reaches from left - to right and top to bottom while the texture coordinates and the latlon - coordinates reaches from left to right and bottom to top. - */ - std::shared_ptr getTile(const ChunkIndex& chunkIndex); - - /** - A tile can be defined with a tile index or a LatLonPatch which defines - the position and the size of the tile. - */ - GeodeticPatch getTilePositionAndScale( - const ChunkIndex& chunkIndex); - - /** - A transformation (translation and scaling) from the texture space of a patch - to the texture space of a tile. - */ - glm::mat3 getUvTransformationPatchToTile( - GeodeticPatch patch, - const ChunkIndex& chunkIndex); - - /** - Overloaded function - */ - glm::mat3 getUvTransformationPatchToTile( - GeodeticPatch patch, - GeodeticPatch tile); - - private: - Geodetic2 _sizeLevel0; - Geodetic2 _offsetLevel0; - int _depth; - - std::shared_ptr _testTexture; - }; - -} // namespace openspace - -#endif // __TEXTURETILESET_H__ \ No newline at end of file diff --git a/modules/globebrowsing/rendering/patchrenderer.h b/modules/globebrowsing/rendering/patchrenderer.h index d838cbe903..60cef548b5 100644 --- a/modules/globebrowsing/rendering/patchrenderer.h +++ b/modules/globebrowsing/rendering/patchrenderer.h @@ -36,7 +36,6 @@ #include #include //#include -#include #include #include #include