Commit Graph

130 Commits

Author SHA1 Message Date
Joakim Kilby
b219638e29 Add ability to cache globe data using MRFs (#2565)
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.
2023-04-11 08:46:25 +02:00
Alexander Bock
375e5c6561 Tracy Update (#2534)
* Update the Tracy repository
* Update submodules
2023-03-01 11:48:21 -07:00
Alexander Bock
79ad5776cc CMake cleanup (#2489)
* CMake Cleanup
* Warning suppression with CEF
* Use SGCT tinyxml in skybrowser for now
* Disable warnings about missing field initializers
2023-02-05 23:24:12 +01:00
Alexander Bock
d52c5dd0d9 Cleanup code with designated initializer lists 2023-01-22 23:01:32 +01:00
Alexander Bock
a2a1554c9a Small cleanup of property documentation 2023-01-09 00:11:58 +01:00
Alexander Bock
4f4764209f Happy new year 2023-01-02 11:19:33 +01:00
Alexander Bock
163ac4dcef Cleanup of mostly asset files
- Fixes for all files
 - constexpr cleanup
 - Cosmetic changes
 - Remove punctuation from the end of messages
2022-07-28 17:21:59 +02:00
Alexander Bock
edb8bc2fdc Cleanup of the globebrowsing support code 2022-07-27 15:57:21 +02:00
Alexander Bock
c1252902c7 More Code Cleanup (#2192)
* Harmonizing ( and ) in function calls
* static const -> constexpr
* Fix compile issue
* Unify shader tab size
* Add _fs and _vs to shaders
* Harmonize spacing
2022-07-26 11:22:41 +02:00
Alexander Bock
9cc4c595a8 Code Cleanup (#2191)
* constexpr const -> constexpr
* const char* -> std::string_view
2022-07-25 15:57:45 +02:00
Ylva Selling
7ec6c247cc Fix comments on PR 2022-07-21 12:38:59 -04:00
Ylva Selling
dbb3b65927 Move calculation of camera geo position from DashboardItemGlobeLocation to a function in GlobeBrowsingModule 2022-06-01 15:07:45 -04:00
Alexander Bock
acfb5d76ef Fix error introduced in the Lua function codegen update that accidentally changed some function names 2022-03-29 17:31:48 +02:00
Alexander Bock
3844df20c9 Feature/codegen lua (#1906)
Adapting Lua functions to new codegen functionality
Improve the documentation itself
Add some styling to generated documentation
Have parameter names for Lua-defined Lua function documentation

Co-authored-by: Emma Broman <emma.broman@liu.se>
2022-03-21 09:05:37 +01:00
Alexander Bock
6a708b1f18 Implement new Spout input methods to Tileproviders and new Renderables (#1901)
* Implement new Spout input methods to Tileproviders and new Renderables

Co-authored-by: Marco Silva <marco@elumenati.com>
2022-03-03 23:47:09 +01:00
Alexander Bock
40ed640bc8 Simplify the function signature of the FactoryManager function 2022-02-12 00:55:15 +01:00
Alexander Bock
30212b6768 Adapt to new auto coding style 2022-02-10 15:20:21 +01:00
Alexander Bock
8b74493d96 Removing the asset_helper file (#1868)
- Remove the asset_helper file and call the onInitialize and onDeinitialize functions directly
 - Small compile fix on Windows
 - Removes the need for the registerIdentifierWithMeta function by automatically doing that for all asset.export statements
 - Allow the passing of either identifiers (as before) or entire tables to the removeSceneGraphNode, removeScreenSpaceRenderable, deleteLayer, removeAction, and export methods. In that case, the Identifier key from the table is extracted and used instead
2022-02-01 23:44:36 +01:00
Alexander Bock
162141f2db Correctly expose missing documentation from a bunch of classes (closes #1856) 2022-01-26 23:41:48 +01:00
Alexander Bock
111397979b Merge pull request #1800 from OpenSpace/feature/tileproviders
Feature/tileproviders
2022-01-14 12:03:52 +01:00
Emma Broman
7c3d6b4c4d Change how moveLayer works slightly, so it is easier to use in a GUI implementation
* "newPosition" is now considered to be the item's new position (index) in the list
* also update the documentation a little
2022-01-12 09:39:12 +01:00
Alexander Bock
cdac4942b6 Merge branch 'master' into feature/tileproviders
# Conflicts:
#	ext/ghoul
#	modules/globebrowsing/src/tileprovider.cpp
#	modules/globebrowsing/src/tileprovider.h
2022-01-01 12:34:42 +01:00
Alexander Bock
d7d279ea16 Happy new year 2022-01-01 12:32:55 +01:00
Alexander Bock
0b496c32a9 TileProvider cleanup 2021-12-30 23:26:10 +01:00
Alexander Bock
cd2fc3f88a Splitting tile providers back into individual files 2021-12-30 11:52:34 +01:00
Alexander Bock
7cf5c37474 Image sequence tileprovider (#1798)
* Fix for rendering DoublePropertys in ImGui
* Adding an ImageSequenceTileProvider that loads a folder of images and makes them available through a user-selectable index
2021-12-27 18:58:05 +01:00
Alexander Bock
55ee3d2785 Remove the user data from the Lua function definition 2021-11-04 16:27:54 +01:00
Alexander Bock
4a860fb01d Some code facelifting 2021-10-14 10:31:46 +02:00
Emma Broman
82ecf60ea2 Issue/1527 - GlobeRotation (#1737)
* Add GlobeRotation and example

* Put latitude before longitude in GlobeTranslation files
2021-09-06 09:28:12 +02:00
Emma Broman
5cf5824607 Add option to flyToGeo with North as up vector 2021-08-15 18:47:15 +02:00
Emma Broman
16173d7afe Merge branch 'master' into thesis/2019/camera-paths and resolve conflicts
# Conflicts:
#	modules/globebrowsing/globebrowsingmodule.cpp
#	modules/globebrowsing/globebrowsingmodule_lua.inl
2021-07-09 15:43:17 +02:00
Emma Broman
d4c06951da Update faulty docs and function name for getGeoPosition (#1662) (#1677)
New name: getLocalPositionFromGeo
2021-07-06 23:37:53 -04:00
Emma Broman
a247f9d1b3 Move geo path creation to globebrowsing module 2021-06-23 15:07:05 +02:00
Emma Broman
77bdfaefd6 Move camera path code into core and refactor navigation code a bit 2021-06-23 09:12:36 +02:00
Alexander Bock
cb17bd7570 Remove warnings 2021-05-25 22:06:49 +02:00
Emma Broman
1c85e327e4 Add RenderableGlobe docs to documentation page 2021-05-21 15:21:40 +02:00
Alexander Bock
01d7a57eef Add GlobeTranslation Documentation to exported documentations (closes #1566) 2021-04-21 09:34:20 +02:00
Alexander Bock
612b9bbc7f Moving more documentation to use codegen (#1549)
- Make use of more codegen in more classes
- Fix verifier for Color4Verifier
2021-03-29 21:50:26 +02:00
Emma Broman
9eb9095c12 Tiny cleanup 2021-02-10 10:54:33 +01:00
Alexander Bock
6d821d4f91 Feature/codegen (#1480)
* Add the ability to automatically generate code to extract values out of a Dictionary (see https://github.com/openspace/codegen for more information on how to use this)
* Applied this technique to a large number of cases in the codebase
* Don't add _codegen files to the repository

Co-authored-by: Emma Broman <emma.broman@liu.se>
2021-02-09 09:12:43 +01:00
Alexander Bock
7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Alexander Bock
067c0f4b27 Introduction of new Dictionary class (#1446)
* Adapting to introduction of new Dictionary class in Ghoul
 * Mainly replacing usage of float instead of doubles as expected
 * Adjust to the lack of the hasKeyAndValue function
2021-01-02 15:07:11 +01:00
Alexander Bock
ad8af3ffeb Feature/CMake (#1443)
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
2020-12-28 18:26:57 +01:00
Alexander Bock
86bb19d81c Feature/warnings (#1425)
* Remove MSVC, GCC, Clang compiler warnings
* Remove cppcheck warnings
2020-12-07 23:43:05 +01:00
Alexander Bock
51470c0a0d Issue/1355 (#1424)
* Move glfw init after macOS window is ready
* MacOS fixes for BigSur
* Compile fixs
* Rename hirise.asset since linux filenames are case-sensitive
* Modified globals DataStorage method to make Linux and Mac happy
* Switched to unsecure http URLs for satellites due to httprequest problem
* Keep the QApplication around on Mac because of some reason otherwise the keyboard handler crashes
* Add comment explaining the madness
* Apply same techniques to the globalscallback file

Co-authored-by: Micah Acinapura <micahnyc@gmail.com>
Co-authored-by: Gene Payne <payne.gene@gmail.com>
2020-12-07 23:41:20 +01:00
Alexander Bock
efffc25ce0 Feature/globals handling (#1352)
* Cleaner handling of global state
* Prevent Lua memory corruption (closes #982)
* Initialize glfw first thing to prevent weird joystick loading bug during startup
2020-10-21 22:30:05 +02:00
Alexander Bock
83622ce339 Add some more profilng code
Update Ghoul repository
2020-08-21 11:16:37 +02:00
Alexander Bock
77db3b6ce8 Remove caching of inverse model transform for every scene graph node 2020-08-11 11:43:50 +02:00
Alexander Bock
d2fbfdbf22 Remove unused globebrowsing instrumentation 2020-06-12 21:50:05 +02:00
Alexander Bock
5a94c486f0 Removing warnings 2020-04-14 22:32:26 +02:00