Commit Graph

456 Commits

Author SHA1 Message Date
Jonathas Costa
eead4b7f25 Merged master into NewAtmosphere. 2017-12-14 15:55:27 -05:00
Alexander Bock
167222c814 Feature/dashboard (#431)
Merging Dashboard branch that introduces the Dashboard, DashboardItem and moves most of the screen rendering code into a component-based layout that can also be displayed as a screenspace renderable

* Add Onscreen Dashboard
  * Add Dashboard class
  * Add DashboardItem classes and subclasses
  * Added font and fontsize customization to dashboarditems
  * Add default dashboard specifications to all scenes
  * Add tests.scene to test dashboard items
  * Add configuration options to DashboardItemDistance
  * Fix distance conversion to correctly use singular or plural values
  * Make DashboardItems unique when adding them to a dashboard
  * Correctly position test with different font sizes
  * Add Dashboard Item that enables spacing between other items
  * Add performance measurement to dashboard rendering
  * Add method to DashboardItemDistance that computes distance to surface
  * Add DashboardItemAngle that computes and prints the angle between three objects
  * Add DashboardItemInstruments that shows the instruments on New Horizons
  * Add ability to OpenSpaceModules to return a list of Luascripts defined by child objects
  * Make it possible for ScreenSpaceDashboard to work with its own dashboard or the main one
2017-12-13 17:11:54 -05:00
Alexander Bock
2152c3ee88 Merge remote-tracking branch 'origin/master' into feature/NewAtmosphere
# Conflicts:
#	modules/imgui/src/renderproperties.cpp
2017-12-11 09:12:13 -05:00
Alexander Bock
c9aedb084b Add Lua functions to query keyboard bindings and remove individual keybinds
Add core script file that defines possibility of rebinding keyboard commands to a different key
Enable the execution of global customization scripts
Make `scene_helper.lua` a script automatically included in the ScriptScheduler
2017-12-08 14:58:18 -05:00
Jonathas Costa
5eb11cfc49 Merged master into NewAtmosphere. 2017-12-07 11:31:51 -05:00
Alexander Bock
6be6149e02 Remove deprecation warning from camera functions
Fix compile warning
2017-12-06 17:00:50 -05:00
Jonathas Costa
a797c2b6db Merged master into NewAtmosphere 2017-12-01 17:13:04 -05:00
Alexander Bock
38338725b9 Strict coding style adherence 2017-11-26 14:57:26 -05:00
Jonathas Costa
6363fc0bb2 Added missing include and merged master into NewAtmosphere. 2017-11-25 22:39:18 -05:00
Alexander Bock
026f51735b Show distance from current focus object
Add conversions for time and space to show distance and delta time in manageable units
Remove warnings
Add deinitializeGL call to Renderengine
2017-11-25 18:30:13 -05:00
Jonathas Costa
0264a3026c Merged master into NewAtmosphere. 2017-11-15 18:12:58 -05:00
Jonathas Costa
67033c4583 Tentative fix for billbords alingment problems. 2017-11-15 17:35:00 -05:00
Alexander Bock
758e26789c More coding style conformance 2017-11-11 11:25:49 -05:00
Alexander Bock
afa1d6d33e Add strict test for whitespace at end of line
More work on coding style
2017-11-09 23:47:51 -05:00
Jonathas Costa
929bd9ae05 Merged. 2017-11-09 15:46:46 -05:00
Alexander Bock
b50b52d351 Cleanup for coding style
Add strict mode to check_style_guide script
2017-11-08 10:35:39 -06:00
Emil Axelsson
3d9481a4fc Make screen log thread safe 2017-11-07 00:14:50 +01:00
Alexander Bock
50fd9309ba Merge branch 'master' into feature/NewAtmosphere
# Conflicts:
#	src/rendering/renderengine.cpp
2017-10-24 15:30:22 -04:00
Alexander Bock
e80730e9bf Fix a variety of warnings 2017-10-21 10:10:40 -04:00
Jonathas Costa
d36e32e560 Merged master into NewAtmosphere. 2017-10-17 20:14:41 -04:00
Alexander Bock
93534d13bc Fix error with preInitialization timestep being overwritten 2017-10-10 12:34:11 -04:00
Emil Axelsson
6b82df68dd Pr/core threadpool (#401)
Move GlobeBrowsing thread pool to OpenSpace core
2017-09-22 13:22:03 +02:00
Emil Axelsson
ea5382c028 Volume conversion and rendering (#350)
Add volume rendering features
 - Improve task runner
 - Improve reading from CDF files
 - Basic time varying volume rendering
 - Fix scaling bug in RenderableToyVolume
2017-09-22 12:03:23 +02:00
Jonathas Costa
2d0da72a50 Merged master into atm. 2017-08-16 12:00:28 -04:00
Jonathas Costa
758ee8bd6d Pull request changes. 2017-08-15 18:15:56 -04:00
Alexander Bock
c275b2f833 Feature/cmake cleanup (#381)
* 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
2017-08-14 09:38:32 -04:00
Jonathas Costa
20003d5b32 Merged master into NewAtmosphere. 2017-07-21 15:02:24 -04:00
Alexander Bock
0963184293 Removing more warnings 2017-07-18 01:05:59 -04:00
Jonathas Costa
b0c65d416b Merged master into NewAtmosphere. 2017-07-17 16:22:33 -04:00
Alexander Bock
0e9edaeb12 Fix byte order mark commits
Update Ghoul
2017-07-17 15:54:00 -04:00
Alexander Bock
4dba552fd1 Started switching OpenSpace projects to nested namespaces
Various cleanups
2017-07-15 20:01:55 -04:00
Alexander Bock
713b5bb97b Fix compile error in iSWA module
Update warning specification for modules
Disable unreferenced local function warning
Update Ghoul
2017-07-15 17:48:03 -04:00
Kalle Bladin
2e4f31ded8 Interaction Updates (#353)
* Interaction speed is not dependent on framerate

* Split up interaction code in files and perform smooth interpolation when changing focus

* Abstract interaction code in to functions.

* Interpolation time is dependent on angle to focus node.

* Use correct delta time when interpolating

* Fix bug regarding decomposition of camera rotation.

* Make orbital interaction mode behave as globe browsing and no longer use interactiondepth below ellipsoid.

* Do not always rotate with object. Depending on distance

* Remove interaction depth below ellipsoid. Now able to interact without renderable

* Remove specification of interactionDepthBelowEllipsoid and cameraMinHeight

* Remove GlobeBrowsingInteractionMode

* Rename OrbitalInteractionMode to OrbitalNavigator and no longer extend interactionmode.

* Move properties from interaction handler to orbital navigator

* Use smooth step for follow rotation interpolator

* Rename KeyframeInteractionMode to KeyframeNavigator

* Rename files

* Clean up.

* Separate mousestate from orbitalnavigator

* Clean up

* Split keybindingmanager from interactionhandler interactionhandler

* Rename interactionhandler to navigationhandler

* Rename files

* Clean up

* Take back usage of gotochunk and gotogeo

* Rename lua library navigation

* Move functionality from navigationhandler to keyframenavigator

* Update scripts for navigation

* Comment code

* Clean up

* Solve but that caused NaN values for camera position when being in center of globe and setting focus to the globe.

* Update jenkins file to remove build folder before building.

* Fix error in jenkins script

* Update jenkins file

* Update jenkins file

* Revert jenkins file

* I hope this makes Jenkins happy.

* Line endings God damnit

* Line endings

* Clean up

* Fix compilation issue

* Take back default scene.

* Fix indentation

* Move functions goToGeo and goToChunk to GlobeBrowsingModule.

* Include algorithm for std::find

* Remove auto and other clean up
2017-07-14 17:17:17 +02:00
Jonathas Costa
3df6dbb036 Merge branch 'master' into feature/NewAtmosphere 2017-06-08 12:13:32 -04:00
Alexander Bock
9a7eba16bd Remove warnings
Update Ghoul repository
Fix spelling mistake in openspace.cfg
2017-06-08 00:07:51 -04:00
Jonathas Costa
0965ec95ba Merged Master into ATM. 2017-06-02 19:02:29 -04:00
Kalle Bladin
f51f293989 Feature/globebrowsing optimization (#310)
* Simplest possible PBO implementation.

* Add PBO class

* TileLoadJob owns raw tile data

* Working on a soluton to cache textures and reuse them

* PBO and cached textures working for one texture type. Color textures.

* Threadpool for tile requests uses LRU cache as queue

* Remove framesUntilRequestFlush

* Clean up

* Clean up

* Use prioritizing concurrent job manager

* Use TileTextureInitData to initialize RawTileDataReader.

* Class TextureContainer owns the textures to use for tiles.

* Using TileTextureInitData to determine if new caches need to be created.

* Remove WriteDataDescription

* Remove TileDataLayout

* Rendering many different layer types again

* TileProviderByLevel gives layergroup id to tile providers

* Comment away use of PBO

* Erase unfinished requests to make room for new ones

* Enable choice of PBO or not.

* Enable resetting of asynctiledataprovider

* Add the ability to use PBO and also load to CPU

* Update ghoul

* Solve culling issue.

* Texture pointer of Tile is now a raw pointer. Currently break single image tile provider and text tile provider.

* Add gpudata

* Move fetching of shader preprocessing data to LayerManager

* No comparisons to determine shader recompilation.

* Show the tile cache size in the GUI

* Clean up and comment.

* Solve bug where float is interpreted as NaN

* Enable ability to blend between layers again

* Fix single image provider

* Fix windows build error

* Fix OSX compile issue.

* Some clean up

* Showing correct texture data size

* Enable use of text tile providers again. No backgroupd image path however.

* Change cache size from GUI

* Clean up

* Solve osx compilation error.

* Update ghoul

* Make it possible to switch between PBO and not during runtime.

* Enable resetting of tile datasets

* change function module in moduleengine to identify module by name

* MemoryAwareTileCache is no longer a singleton

* Update ownership of properties for globe browsing

* Logging info about resetting tile reader.

* Logging info

* Fix requested changes

* Fix some compile warnings.

* Fix compilation warnings

* Add ability to blend values with blend parameter. Also define settings through lua dict.

* Fix some comments on pull request.

* Change formatting

* Change formatting

* Change formatting

* Fix pull request comments.

* Those are details

* Make Mercury great again.

* Make Earth great again.

* Solve conflict

* Test to sometimes use valueblending and sometimes not

* Not always use value blending

* Update ghoul

* Change from auto to explicit type.

* Update test for LRU Cache

* Include algorithm.
2017-05-30 15:37:05 +02:00
Jonathas Costa
0cd56d776c Merged master into NewAtmosphere. 2017-05-24 16:53:34 -04:00
Emil Axelsson
752081d31b feature/time-refactor (#294)
- 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.
2017-05-22 14:01:08 +02:00
Jonathas Costa
d632b41710 Merged master into NewAtmosphere. 2017-05-18 12:33:08 -04:00
Matthew Territo
0a1101d0e4 Missing Destructors: Issue #307 (#308)
* Adding empty destructor for Scene.

* RenderEngine Destructor empty/no longer default

* Create empty ~ScreenLog
2017-05-18 10:13:20 +02:00
Alexander Bock
5ebf2a4913 Rename Documented to DocumentationGenerator 2017-05-11 18:16:30 -04:00
Alexander Bock
17fe85afba Add documentation 2017-05-11 18:01:36 -04:00
Alexander Bock
d597750398 Some more refactoring of the documentation feature 2017-05-11 13:56:06 -04:00
Alexander Bock
ddc9ef1bc5 Add abstract class to handle Handlebar-based documentation file generation
Apply Documented class to the InteractionHandler
Update Ghoul
2017-05-09 18:06:14 +01:00
Jonathas Costa
8d6fcf6635 Merged master into NewAtmopshere branch. 2017-05-01 11:33:54 -04:00
Alexander Bock
da3e912026 Remove warnings on MacOS in Clang 2017-04-25 19:12:42 -04:00
Jonathas Costa
8615860686 Added Deferred Support for Atmosphere. 2017-04-19 13:45:06 -04:00
Emil Axelsson
4b38b33e18 Clean up code for planet radius and bounding sphere calculation (#289)
- Remove some power scaled coordaintes.
- Remove spice dependency from sphere geometry.
- Remove dead code.
2017-04-18 09:58:27 +02:00
Jonathas Costa
454e530ad6 Added deferred rendering support files. Fixed Volume rendering in framebufferrender. 2017-04-18 00:04:29 -04:00