Commit Graph

606 Commits

Author SHA1 Message Date
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
Emil Axelsson cb7319d5f2 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management
Conflicts:
	data/scene/default.scene
	modules/sync/syncmodule.h
	openspace.cfg
	src/engine/openspaceengine.cpp
	src/scene/scene.cpp
	src/scene/scene_doc.inl
	src/scene/scenegraphnode.cpp
	src/scene/scenegraphnode_doc.inl
	src/scene/sceneloader.cpp
	src/scripting/scriptengine.cpp
2017-08-14 11:17:25 +02:00
Alexander Bock 8a62e6e791 Add description to PropertyOwner 2017-08-01 17:05:52 -04:00
Alexander Bock 036b271d0d Change capitalization of property names 2017-07-22 18:22:44 -04:00
Emil Axelsson 9491e920ad Work on asset loader and synchronization module 2017-07-21 15:36:09 +02:00
Alexander Bock 77b15724b5 More shader cleanup
Remove dedicated logs folder
Change openspaceengine to create logs folder automatically
2017-07-19 15:44:30 -04:00
Emil Axelsson 8c124955fd Compile fixes after merge 2017-07-18 14:21:17 +02:00
Emil Axelsson 5ced910f79 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management
Conflicts:
	include/openspace/scene/scenegraphnode.h
	src/engine/openspaceengine.cpp
	src/interaction/interactionhandler.cpp
	src/interaction/interactionmode.cpp
2017-07-18 10:54:41 +02:00
Alexander Bock 0963184293 Removing more warnings 2017-07-18 01:05:59 -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
Alexander Bock c3929f5d6d Add the ability to add OpenGL error checking and function call logging though the openspace.cfg file 2017-07-13 14:52:13 -04:00
Kalle Bladin 6e16466755 Back to LF line endings (#359)
* Auto update line endings to LF in main.cpp and openspaceengine.cpp

* Add .editorconfig

This is a tool that allows you to tell multiple editors what type of code
style and configuration that should be used. It unifies the settings and
makes the risk of running into config-related issues smaller.
2017-07-13 16:49:42 +02:00
Alexander Bock 83cbe7f891 Print parsing errors in openspace.cfg 2017-07-11 15:17:11 -04:00
Alexander Bock 6d0c80cc91 Change the mouse scroll callback to accept two dimensional arguments 2017-07-11 14:35:39 -04:00
Emil Axelsson f091444972 Make it possible to toggle asset dependencies in the gui 2017-07-11 17:02:21 +02:00
Matthew Territo 2d1661679c Replace ${SGCT} token with ${CONFIG} in Launcher and OpenSpaceEngine. 2017-07-10 11:53:15 -06:00
Alexander Bock 1cf53d5479 Make console work with Fisheye rendering 2017-07-08 17:11:50 -04:00
Alexander Bock 0f34b05512 Increasing warning level 2017-07-08 12:40:52 -04:00
Emil Axelsson 0fe71b5c2e Move more scene loading logic to assets 2017-07-07 18:13:00 +02:00
Emil Axelsson 15dc2c3441 Fix bugs in scene graph manipulation API 2017-07-07 13:33:29 +02:00
Emil Axelsson 58a423fc56 Loading and unloading assets 2017-07-06 22:33:11 +02:00
Emil Axelsson 351a246f3a Add support for c closures in lua 2017-07-06 22:30:57 +02:00
Emil Axelsson ee36a97762 Improve asset lua interface. Simplify scene loading. 2017-07-06 16:40:35 +02:00
Emil Axelsson b6d1690fb1 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-07-05 20:21:15 +02:00
Emil Axelsson 2e4b908318 Work on asset loading 2017-07-05 20:17:23 +02:00
Emil Axelsson 80222ba2d5 Make it possible to run OpenSpace without opening a scene 2017-07-03 18:02:37 +02:00
Alexander Bock cfdeea31ae Compile fix in Pixelbuffer 2017-07-03 11:20:31 -04:00
Alexander Bock 467a6c3542 Start migrating from GLEW to glbindings
Fix compile errors from wrong function parameters in OpenGL calls
2017-07-03 01:37:53 -04:00
Alexander Bock 4184740ce8 Code cleanup 2017-06-09 16:09:58 -04:00
Alexander Bock 03bec736ce Prevent a hard crash in case the scene file contains a syntax error 2017-06-09 15:36:49 -04:00
Alexander Bock 9a7eba16bd Remove warnings
Update Ghoul repository
Fix spelling mistake in openspace.cfg
2017-06-08 00:07:51 -04:00
Gene Payne be1b211dfb Feature/satellites (#325)
* Initial commit of satellites test branch

* Modified code to work with batch TLE files from online links specified in .mod file. Does not yet auto-download the files.

* Added debug function to mod file for testing static points in orbit

* Fixed time offset bug that was corrupting satellite positions

* Minor changes for debug output and camera position.

* Changed to circle billboard for rendering satellite position

* Added satellite group name to each renderable title, and keyboard shortcuts for toggling visibility

* Added support for using ghoul luasocket lib to download latest satellite TLE files from celestrak.com

* Adding reference to updated Ghoul submodule containing luasocket changes

* Updating reference to latest Ghoul submodule in feature/satellites

* Updated reference to new ghoul version

* Updated reference to new ghoul submodule version for satellites

* Updated reference to new ghoul submodule version for satellits

* Updated versions of TLE files

* Added new Lua-accessible downloader available for scene loading

* Improved error handling for TLE files

* Updated submodule reference for ext/ghoul prior to luasocket addition

* Update SGCT reference
2017-06-06 13:42:38 -04:00
Alexander Bock 7f28adc386 Add additional trace information
Prevent crash if console shader is missing
2017-06-01 12:13:19 -04:00
Emil Axelsson 5c67189c8d Add possibility to check if OsEng is instantiated 2017-06-01 14:09:06 +02: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
Emil Axelsson 1eee40887d Tweak animation and appearance of lua console + Remove some duplicate code 2017-05-17 21:21:51 +02:00
Alexander Bock 3d9375277b Adding LuaConsole to global property namespace
Initial reworking of LuaConsole look and feel
2017-05-14 12:47:10 -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
Alexander Bock da3e912026 Remove warnings on MacOS in Clang 2017-04-25 19:12:42 -04:00
Alexander Bock bf16c76add Feature/opengldebug (#290)
* Add InLIstVerifier

* Initial implementation of OpenGL debug messages

* Moving functionality into Ghoul

* Compile fix

* Update Ghoul repository
Make use of the moved OpenGL debug functions

* Update Ghoul to fix GCC and Clang compiler errors

* Add unit test for IntListVerifier
2017-04-18 14:29:23 -04:00
Alexander Bock c53bbf14be Add property and configuration option to disable the scene tag on a master node (closing #247) 2017-04-17 10:55:37 -04: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
Alexander Bock 76aed0578c Feature/virtualproperty (#286)
* Add virtual property owner to OpenSpaceEngine

* Ability to add and remove virtual properties

* Do not try to render empty PropertyOwner name
Compile fix for iswaComponent
Add example in default.scene

* Delete virtual properties also in the OpenSpaceEngine dtor

* Make RenderablePlanet not crash if the nighttextures are not present

* - Add VirtualPropertyManager to manage ownership of virtual properties
- Only execute regex when it was necessary
-
2017-04-13 14:38:28 -04:00
Emil Axelsson 6a851e11a3 Correct the order of initialization and scene loading 2017-04-05 17:40:00 +02:00
Emil Axelsson a108ee1f8a Fix requests from code review 2017-04-04 14:25:39 +02:00
Emil Axelsson f3931551bd Clean up scene loading 2017-03-16 17:06:33 +01:00
Emil Axelsson b06864eefe Merge branch 'develop' of github.com:OpenSpace/OpenSpace into pr/scenegraph-refactor 2017-03-16 16:35:29 +01:00