Commit Graph

101 Commits

Author SHA1 Message Date
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
Alexander Bock
d8e9db76a3 Update the copyright header to 2020 2020-02-10 21:51:01 +01:00
Alexander Bock
49c793d976 Update Ghoul version
Add initial Tracy profiling macros
2020-02-10 14:50:41 +01:00
Alexander Bock
c7c8375ca0 Coding style fixes 2019-07-31 11:13:29 +02:00
Alexander Bock
566fe7f434 Adding documentation to RenderableGlobe and layers (closes #651)
Fix mars after detecting that identifiers were missing
2019-07-30 17:48:43 +02:00
Alexander Bock
4a070c939f Add the ability to query and rearrange globebrowsing layers at runtime 2019-07-30 14:28:23 +02:00
Alexander Bock
fc28b98db9 Add basic instrumentation options to the renderengine and globebrowsing module
Instrumentation is disabled on default, but can be enabled in CMake
2019-07-19 09:55:41 +02:00
Emil Axelsson
f43bcadee3 Feature/navigation state (#930)
* Replace setCameraState with setNavigationState + equivalents
* Add documentation and verification of NavigationState-related interfaces
* Documentation and verification fixes
* Change reference frame behavior
* Scene fixes
* Replace earthrise recording with navigation state and time
2019-07-16 13:13:33 +02:00
Alexander Bock
d0c04cfc6b Various code cleanup 2019-06-18 10:47:15 +02:00
Alexander Bock
8f6520ea8f Feature/offline rendering (#906)
* 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.
2019-06-18 10:15:35 +02:00
Micah Acinapura
1149a61dce resurrecting consolidated documentation (#897)
* Resurrecting consolidated documentation, lots to improve still but better then before
2019-06-03 06:19:45 -06:00
Alexander Bock
512e35bea6 Feature/globe speedup (#862)
* Updated GDAL version to 2.4.1
 * Add vtune performance commands
 * Add Nvtools performance commands
 * Add warning if GDAL dataset could not be loaded
2019-05-17 18:24:14 +02:00
Alexander Bock
bb3db7ada7 Feature/jenkins fix (#816)
* Cleanup
* CMake cleanups
* Update current year
* Update copyright header
* Use script to return list of all modules
* Update credits, license and ghoul
2019-03-24 11:19:39 +01:00
Emil Axelsson
2e71eaa4cb Feature/anchor and aim (#799)
Introduce the ability to navigate using an anchor and aim.
Example use: Set spacecraft as anchor and planet as aim to always look down at a planet, while followin the spacecraft in its orbit.
2019-02-19 18:46:58 +01:00
Alexander Bock
8d64020601 Add new translation that uses longitude/latitude to compute translation on a RenderableGlobe 2018-12-04 11:24:35 -05:00
Alexander Bock
c7a96a6b59 Address clang tidy complaints
Update Ghoul repository
Update SGCT repository
2018-11-30 15:34:09 -05:00
Alexander Bock
7a3a8a5cf6 Misc coding style cleanups 2018-11-06 12:02:56 -05:00
Alexander Bock
cdfd0d12da Add option for automatic caching of WMS servers into openspace.cfg
Remove all manual specification of caching and offline mode from manual wms servers
2018-11-02 15:34:36 -04:00
Alexander Bock
b214f1ba75 Trying another timeout method for GDAL GetCapabilities requests 2018-11-01 11:16:34 -04:00
Alexander Bock
9047dc7a3e Feature/globebrowsing speedup (#735)
* Removal of ChunkRenderer, ChunkedLodGlobe, ChunkCuller, chunklevel evaluator, culling classes, layershadermanager, GpuLayer, GPUData, ChunkNode, Grid, BasicGrid, Chunk files, Angle, AABB classes, PointGlobe, Ellipsoid, TileSelector, tiledatatype, iodescription, simplerawtilerreader, rawtilereader
 * Less dynamic allocation for SkirtedGrid, LayerManager, RenderableGlobe, TextureUnit
 * Clean up memory management in RawTiles
 * Code simplification
 * Optimize shader uniform setting
 * Introduce UniformCache
 * Callback simplification
 * Turn ChunkNode into a struct
 * Use a MemoryPool to organize all ChunkNodes rather than use unique_ptr and the necessary memory allocation
 * Collect draw calls
 * Consolidate fragment shaders between local and global renderer
 * Shader cleanup and optimization
 * Update CMake to not include included shaders
 * Integrate traversal function into the looping
 * Replace std::queue with std::vector
 * Merge TextureContainer into MemoryAwareTileCache
 * Lazy computation of chunk bounding boxes
 * Memory management of LayerGroup
 * Remove class hierarchy from tileproviders (temporaltileprovider not working yet)
 * Remove PBO classes
* Chunk status stored in Chunk
* Don't create a copy of the ChunkTilePile
* Enable culling by projected area on default
* Have raw tile reader return a Tile instead of a shared_ptr to a tile
* Start making GDAL mandatory
* Increase the default lod scale factor to 15
2018-10-30 17:20:06 -04:00
Alexander Bock
9f1c4e847d Feature/globals (#690)
* Move global objects out of OpenSpaceEngine
 * General cleanup of main.cpp
 * Add default_joystick asset to all scenes
 * No longer suppress mouse interaction on slave nodes
 * Window delegate uses function pointers rather than subclassing
 * Fix for false overwriting of ImGUI configuration file
 * Change default color and tilt angle of fisheye rendering
 * Restructured performance manager
 * Simplify screenshot handling
2018-08-30 11:38:47 -04:00
Alexander Bock
ef61dc8c16 Rename DashboardGlobeLocation to DashboardItemGlobeLocation
Remove JSON from iswa module and use openspace one instead
Remove warnings
General code cleanup
2018-07-05 12:00:32 -04:00
Alexander Bock
77e14edec3 Add DashboardItem to show the current camera location on a globe 2018-06-29 12:19:23 -04:00
Alexander Bock
4952f8f977 Code cleanup branch (#618)
* Make height map fallback layer work again
  * Add documentation to joystick button bindings
  * Removed grouped property headers
  * Add new version number constant generated by CMake
  * Make Joystick deadzone work properly
  * Change the startup date on Earth to today
  * Fix key modifier handling
  * Add debugging indices for TreeNodeDebugging
  * Fix script schedule for OsirisRex
  * Do not open Mission schedule automatically
  * Upload default projection texture automatically

  * General code cleanup
  * Fix check_style_guide warnings
  * Remove .clang-format
  * MacOS compile fixes
  * Clang analyzer fixes
2018-06-10 04:47:34 +00:00
Alexander Bock
cae4ed9ce0 Sort nodes in GlobeBrowsing UI by whether they have URLs associated with them or not (closes #580) 2018-04-09 10:20:36 -04:00
Alexander Bock
db7ae7e384 Issue/453 (#556)
* Introduced guiName to PropertyOwner
  * Added requirement that PropertyOwner::identifier may not contain whitespaces
  * Changed Name to Identifier in asset and scene files
  * Added new PropertyOwner to RenderEngine that owns the ScreenSpaceRenderables
  * Moved Name and GuiPath into GUI group
  * Added user-facing names to layer groups
2018-03-16 09:21:29 -04:00
Alexander Bock
a3c849843f Feature/new formatting (#547)
* Change to new logging format (closes #542)
 * Adds a screenshots folder that uses the application startup time
 * Creating focus nodes for VRT files if the info files contain location information
 * Fix issue with removing virtual properties
 * Add a method for returning the cartesian coordinates for a geolocation on a planet
2018-03-07 18:10:32 -05:00
Alexander Bock
2cd16e54b1 Replace initialize list of LuaLibrary with explicit instantiation (closes #477) 2018-02-09 13:15:21 -05:00
Alexander Bock
cac2f24b40 Only make an internalInitialize in OpenSpaceModule that accepts a ghoul::Dictionary 2017-12-31 17:32:40 -05:00
Alexander Bock
dcfef3557f Update copyright header 2017-12-29 20:11:22 +01:00