* Switch openspace.cfg file from a Dictionary-based loading to a variable based loading
* Change ConfigurationManager to not use Dictionary anymore, but a struct with explicit configuration values instead
* Add initializeGL and deinitializeGL methods to OpenSpaceModule Call releaseAll from ProgramObjectManager in deinitializeGL to guard against errors when deinitializing assets
* Change removeProgramObject function in RenderEngine to take a non-owning pointer instead of a reference to a unique pointer to make it compatible with the ProgramObjectManager
Update Ghoul repository
* Using ProgramObjectManager in more modules to reduce the number of programs compiled at startup
* Implemented property animation mechanism
* Added easing functions to Ghoul and make them usable in animation
* Make sure that we don't leave properties around if SceneGraphNodes are deleted
* Adding opacity settings to base renderables
* Rename OnScreenGui module to ImGui
* Support multiple external module folders (closes#31)
* Cleaning up CMake files
* Restructure application specification
* Add parameter for library mode to all modules
* Add functions to handle global variable state
* Misc/remove warnings (#383)
* Increase build timeout and do a clean rebuild every commit
- Change Time class to become a non-singleton
- Move ownership of the current time to TimeManager(instead of singleton access).
- Store the Time as a Syncable in TimeManager instead of representing all member variables of Time as Syncables.
- Pass a Time object around in the update/render methods, so that renderables don't have to query the OpenSpaceEngine to know if time is paused or if it jumped.
- Introduce Timeline and Keyframe classes
- Make use of Timelineand Keyframeclasses in KeyframeInteractionMode and TimeManager
- Added basic unit tests for Timelineand Keyframe
Future work: Add interpolation schemes for keyframes. Possibly use keyframes+interpolation feature to tween/morph properties, or figure out if this should be a separate mechanism.