* account for availability of next level in desired level
solves #2834
* remove tile-padding option & functionality
* remove (no longer needed) recursive read function
since we no longer padd tiles we cannot sample outside of a read region
anymore.
* change default tilesize for heightlayers to avoid discontinuities
* make frustum culling control a debug property
* Small style guide fix
* clarify if-statement with comment
* add variable for default height-tile resolution, update comment
---------
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Due to this change Tiles with only "noDataValue" won't get re-added into the job queue forever.
Solves issue where height data did not display for underlaying heightmaps.
Enables globe-browsing data to be cached using caching mrf's as it is loaded from the original dataset. Subsequent reads of tiles that have been cached do not query the original dataset but picks it up from the mrf data.
Supports anything that can be used a dataset for a gdal raster but raw images such as JPGs are explicitly disallowed as they lack necessary geotransform data.
Activated on a global scale by setting the following keys in openspace.cfg (ModuleConfigurations/GlobeBrowsing)
MRFCacheEnabled = true,
MRFCacheLocation = "<somepath>",
Settings can be overriden on a per-layer basis by adding the following entries to the layer entity of an asset
CacheSettings = { Enabled = true, Compression = "LERC", BlockSize = 512, Quality=25 },
The following per-layer settings are available and override the global module settings:
Enabled : enable/disable caching for this layer.
Compression: The compression algorithm to use for tile cache storage. (JPEG, PNG, or LERC)
BlockSize: Size of tiles in cache, should be a multiple of 2 although this is not required.
Quality: The quality setting of the JPEG compression (when used)
Note that heightlayers must use LERC compresison and this is the default unless overridden by a layer.
General CMake cleanup/overhaul
* Enable precompiled headers for all projects
* Move specifications itto separate CMakeLists files
* Add openspace-core as a subdirectory
* Move handle_modules functionality into modules/CMakeLists.txt
* Move handleapplications logic into apps/CMakeLists.txt
* Introduce openspace-module-collection interface library to simplify inclusion of modules in applications
* Turn module initialization into a two-step process to adapt to the new minimal dependency scenario
* Compile time speedup
* Remove circular dependencies between modules and core preventing multithreaded compilation on MSVC
* Build Spice multithreaded and as static library
* Remove dependency from core to module-webbrowser
* Remove unused dependency from kameleon
* Remove additional unnecessary dependencies
* Cleanup volume/kameleon/kameleonvolume modules
* Fix visibility issues. Restrict include paths
* Compile kameleon in parallel
* Other cleanup
* Only copy CEF files from one target (hard-coded to OpenSpace right now)
* Remove unused instrumentation code
* Remove the ability to render AABB for globes as it caused a circular dependency between GlobeBrowsing and Debugging
* Removing compiler and cppcheck warnings
* Turn almost all includes into non-system includes
* Don't warn on deprecrated copy
* Updated submodules
* Cleaner handling of global state
* Prevent Lua memory corruption (closes#982)
* Initialize glfw first thing to prevent weird joystick loading bug during startup
* Added functionality of saving out screenshots (with fixed FPS) from a recorded session during playback.
* Test of feature to request if all data is ready to be rendered, primary used in GlobeBrowsing. Need to go over how chunkTiles are set to OK (some are never OK..).
* Estimated having working request of checking if chunks with correct level have their color and height data loaded and ready to be rendered. Will re-enable frames saving and try making a movie.
* Created adaptive LOD factor based on available/unavailable tile data (such that we don't run a lot of iterations with asking for a pile of data that does not fit in the tile cache).
* Made it able to specify tile cache size in configurastion file. Renamed other Cache value to WMSCache, as we have the TileCache as well.
* Fix for when focus node has nor renderable, when checking for if dersired data has been loaded. Should probably check all renderable/planets anyway, not just a focus object.
* Cleanup
* CMake cleanups
* Update current year
* Update copyright header
* Use script to return list of all modules
* Update credits, license and ghoul