Commit Graph

86 Commits

Author SHA1 Message Date
Alexander Bock
bb5f4d4381 Rename GuiGrouping to GuiPath
Add GuiPath to existing scenegraph nodes
Add option to toggle tree representation
Add caption font to UI
2017-10-13 13:08:59 -04:00
Alexander Bock
ebd506975c Added initial scenegraph node grouping support 2017-10-13 00:17:28 -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
Alexander Bock
31377466ba Remove return values from initialize and deinitialize functions 2017-07-28 17:51:25 -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
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
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
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
f4ad2ce4c2 More include file cleanup 2017-05-15 15:27:59 -04:00
Alexander Bock
5ebf2a4913 Rename Documented to DocumentationGenerator 2017-05-11 18:16:30 -04:00
Alexander Bock
d597750398 Some more refactoring of the documentation feature 2017-05-11 13:56:06 -04:00
Alexander Bock
0ff91e896b Fix style guide check
Fix style guide in files
2017-04-24 15:31:32 -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
Emil Axelsson
5589de995b Feature/domecasting (#288)
* Improve dome casting feature. Add basic GUI for domecasting.

* Reenable remote scripting from Lua console. Add more settings and debug information for domecasting.

* Do not try to reconnect to parallel connection forever

* Fix interpolation bug for dome casting with globe browsing interaction mode

* Show parallel connection properties in correct GUI

* Fix bug for dome casting with globe browsing interaction mode. Add property for time tolerance.

* Update header file

* Clean up dome casting code

* Remove obsolete lua functions from ParallelConnection.
2017-04-13 23:16:00 +02:00
Gene Payne
4a312c70b8 Merge branch 'master' into feature/grouping 2017-04-13 11:23:15 -06:00
Alexander Bock
bef337c0eb Minor various fixes 2017-04-12 14:21:02 -04:00
Emil Axelsson
a108ee1f8a Fix requests from code review 2017-04-04 14:25:39 +02:00
GPayne
ae2cb222b0 Switched to using propertyowners in grouping, and group/tag name in group syntax 2017-03-21 11:35:09 -06:00
Emil Axelsson
f3931551bd Clean up scene loading 2017-03-16 17:06:33 +01:00
Emil Axelsson
ca6348194e Clean up scene loading 2017-03-14 13:40:18 +01:00
Emil Axelsson
92df9caf5a Clean up scene loading 2017-03-07 16:33:56 +01:00
Emil Axelsson
7da999c332 Merge branch 'develop' of github.com:OpenSpace/OpenSpace into pr/scenegraph-refactor
Conflicts:
	include/openspace/engine/openspaceengine.h
	src/engine/openspaceengine.cpp
	src/engine/settingsengine.cpp
	src/engine/syncengine.cpp
	src/interaction/interactionhandler.cpp
	src/rendering/renderengine.cpp
	src/scene/scene.cpp
	src/scene/scenegraph.cpp
	src/scene/scenegraphnode.cpp
	tests/test_scenegraphloader.inl
2017-03-07 10:57:50 +01:00
Alexander Bock
1689dc4047 Move the PropertyOwner name specification into the constructor and adjust accordingly 2017-03-02 18:25:13 -05:00
Alexander Bock
2f2fa3b031 Update Ghoul repository to have the factory return unique_ptrs
Adjust accordingly
2017-03-01 22:03:48 -05:00
Alexander Bock
4e52f27f9e Remove Dictionary include with forward declarations 2017-03-01 19:20:00 -05:00
Alexander Bock
8fd60ce8e6 - Remove documentation.h include and replace with forward declaration
- Move Documentation struct into documentation namespace
2017-03-01 18:13:15 -05:00
Alexander Bock
94e3e11188 Update copyright header to 2017
Update Ghoul repository
Remove libgdal link
2017-02-06 18:02:01 -05:00
Emil Axelsson
4751ce36c4 Refactor scene graph: Move scene loading to separate class. 2016-12-30 17:08:50 +01:00
Emil Axelsson
ad3921fda5 Remove unused postRender method for scene graph nodes and renderables 2016-12-14 14:14:53 +01:00
Alexander Bock
d139dd2d22 Clean include guards in OpenSpace core
Remove unused files
2016-12-09 13:54:22 +01:00
Alexander Bock
fe436748bf Implementing Translation classes for Keplerian elements as well as two-line element formats (#172) 2016-12-02 15:05:49 +01:00
Alexander Bock
683fc8ee53 Pr/trails (#170)
* Implement new RenderableTrails as abstract base class
  - Implement RenderableTrailsOrbit and RenderableTrailsTrajectory as concrete instances
Remove old RenderableTrails and RenderableTrailsNew classes
Adapt mod files to the new structure

* Addressed Pull Request comments
2016-11-23 10:35:46 +01:00
Alexander Bock
ed4b8c9fa8 Store Translation, Rotation, and Scaling Performance measurements
If no special sorting is requested in Performance GUI, sort by name
2016-10-28 12:52:54 +02:00
Alexander Bock
4b9bed3b21 Make Translation, Rotation, and Scaling available as Properties in SceneGraphNode 2016-10-28 11:52:44 +02:00
Alexander Bock
db4524d2ac - Restructure Rotation classes to make the base class store the rotation to remove an additional virtual function
- Add Matrix verifiers
- Add documentation to StaticRotation and SpiceRotation
2016-10-26 16:47:42 +02:00
Emil Axelsson
ea1ca95df9 improve look and feel of scenegraph node property documentation 2016-09-29 13:58:18 +02:00
Alexander Bock
7ddccd8172 Rename Ephemeris files to Translation 2016-09-26 13:49:17 +02:00
Alexander Bock
a688a1eee9 Rename Ephemeris to Translation 2016-09-26 13:34:22 +02:00
Alexander Bock
428f488bb6 Add documentation to Ephemeris classes
Remove unused "Reference" specification from mod files
Add osirisrex files to gitgnore
Make Ephemeris values into properties
2016-09-20 19:24:14 +02:00
Alexander Bock
329986c0c6 Merge branch 'develop' into feature/globebrowsing
Conflicts:
	modules/base/scale/staticscale.cpp
	modules/base/scale/staticscale.h
	modules/globebrowsing/meshes/trianglesoup.h
	modules/globebrowsing/tile/tiledataset.cpp
	modules/newhorizons/shaders/renderableModelProjection_fs.glsl
	src/interaction/interactionhandler.cpp
	src/rendering/renderengine.cpp
	src/scene/scenegraphnode.cpp
2016-09-20 15:52:01 +02:00
Alexander Bock
8867b3439f Add central location for the core to register documentations
Add documentation to ScreenSpaceRenderable
Add documentation to Ephemeris
Add documentation to Rotation
2016-09-19 14:03:42 +02:00
Alexander Bock
29c989ab82 Add documentation to the documentation and verifier classes
Add static const member variable to the DocumentationEntry class for Wildcards
2016-09-18 20:47:41 +02:00
Alexander Bock
1778a7cdb6 Add documentation to SceneGraphNode 2016-09-15 13:28:52 +02:00
Alexander Bock
989e40395e Add documentation to scene description files
Check incoming scene files against the documentation/specification
2016-09-15 10:39:11 +02:00
Kalle Bladin
a82ad66374 Add scale as a property of every scenegraph node. 2016-08-26 20:32:08 -04:00
Kalle Bladin
a9b8bec7b4 Remove parts of bounding sphere definition in SceneGraphNode. 2016-08-17 00:38:18 -04:00
Kalle Bladin
64ba3d2717 Add new files supposed to be in previous commit. 2016-08-17 00:30:03 -04:00
Kalle Bladin
542b9e11e6 Update SceneGraphNode to have a full transformation defined in terms of translation, scale and rotation. 2016-08-17 00:19:25 -04:00
Kalle Bladin
2f05c8a5f0 Enable scene graph nodes to have transforms relative to parent node. 2016-08-15 13:08:30 -04:00