Commit Graph

232 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
Alexander Bock
1a475ef570 Started documenting properties
Cleanup of Nagivationhandler properties
2017-07-24 00:15:45 -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
Matthew Territo
b4c128306f Merge branch 'master' into feature/statlogs
* master:
  Add the ability to add OpenGL error checking and function call logging though the openspace.cfg file
  Automatically set SGCT_SPOUT_SUPPORT when OPENSPACE_SPOUT_SUPPORT is set
2017-07-13 18:16:23 -06: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
Matthew Territo
cdb84ac111 Merge remote-tracking branch 'origin/master' into feature/statlogs 2017-07-13 09:06:13 -06:00
Alexander Bock
db9db49716 Provide a static member variable Name for all OpenSpaceModules 2017-07-12 13:59:16 -04:00
Matthew Territo
f1417210fa Merge remote-tracking branch 'origin/master' into feature/statlogs 2017-07-11 13:56:40 -06:00
Alexander Bock
6d0c80cc91 Change the mouse scroll callback to accept two dimensional arguments 2017-07-11 14:35:39 -04:00
Matthew Territo
a91e48efe7 Add PerformanceMeasurement logging variables to ConfigurationManager. Read from logDir and file prefix from config file in PerformanceManager. 2017-07-06 17:01:21 -06: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
Emil Axelsson
5c67189c8d Add possibility to check if OsEng is instantiated 2017-06-01 14:09:06 +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
92f55f24d6 Merge remote-tracking branch 'origin/master' into feature/launcherconfigs
# Conflicts:
#	ext/sgct
#	openspace.cfg
2017-05-12 15:40:06 -06: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
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
a108ee1f8a Fix requests from code review 2017-04-04 14:25:39 +02: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
63af7e67f9 Make the WindowWrapper a PropertyOwner and add SGCT properties to the subclass (closes #260) 2017-03-03 18:39:35 -05:00
Emil Axelsson
4307c06d92 Compile fix 2017-03-03 18:19:10 +01:00
Emil Axelsson
d7cd3a01a5 Merge branch 'develop' of github.com:OpenSpace/OpenSpace into pr/kameleonvolume
Conflicts:
	src/engine/openspaceengine.cpp
2017-03-03 18:08:29 +01:00
Alexander Bock
c12bd7182b Some cleanup of ModuleEngine
Some cleanup of SettingsEngine
Some cleanup of SyncEngine
2017-03-02 17:24:44 -05:00
Alexander Bock
d6b5bb753b - Some cleanup of LuaConsole
- Moved dedicated Lua commands into a visible property
  - Disallow non-ASCII characters
- Remove unused KeyboardController
- Remove unused DeviceIdentifier
- Some cleanup of LogFactory
  - Move and use documentation into the class
2017-03-02 14:27:18 -05:00
Emil Axelsson
cb7e81cf3d Add support for converting and rendering volumetric data in the cdf format. Replace DataConverter by a more general purpose TaskRunner.
Conflicts:
	modules/volume/CMakeLists.txt
	modules/volume/linearlrucache.h
	src/engine/openspaceengine.cpp
2017-03-02 18:20:01 +01:00
Alexander Bock
6748305267 Some cleanup of ConfigurationManager 2017-03-01 11:30:54 -05:00
Alexander Bock
3e2c56c940 Steps towards moving dedicated lua functions into properties 2017-02-28 23:15:11 -05:00
Alexander Bock
6704491fdc More cleanup in OpenSpaceEngine 2017-02-25 19:19:31 -05:00
Alexander Bock
bc75334eb4 Use exceptions instead of success return values for initialize and
create methods
2017-02-25 18:08:53 -05:00
Alexander Bock
6c4efc4eec Move OpenSpaceEngine::isMaster method into WindowWrapper class 2017-02-25 11:29:28 -05:00
Alexander Bock
965cf6bd9a Fix crash that occurs if there is an error in the SGCT configuration file 2017-02-22 15:31:59 -05:00
Matthew Territo
65c51425ee Merge branch 'master' into feature/launcherconfigs
* master:
  Updated version number to 0.7.0 (prerelease-12 NAOJ)
  Windows compile fix
  Reduce dependency of onscreengui module in libOpenspace Add check to `check_style_guide` that reports wrong dependencies
  Reduce the dependency of libOpenSpace on modules  - Enable module callbacks for OpenSpaceEngine  - Add OpenSpaceModule function that returns a Lua library
2017-02-20 08:37:37 -07:00
Alexander Bock
fe47845703 Windows compile fix 2017-02-16 23:13:38 +01:00
Alexander Bock
11fbff5fbc Reduce the dependency of libOpenSpace on modules
- Enable module callbacks for OpenSpaceEngine
 - Add OpenSpaceModule function that returns a Lua library
2017-02-16 16:43:34 -05:00
Matthew Territo
895ad51e39 Add Launcher key to ConfigurationManager. Initial work. 2017-02-15 17:05:59 -07:00
Alexander Bock
6d9dc2bfeb Fixed include guards
Removed unused writeToTexture file
2017-02-09 19:12:21 -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
Alexander Bock
d139dd2d22 Clean include guards in OpenSpace core
Remove unused files
2016-12-09 13:54:22 +01:00
Alexander Bock
af21e40074 Split up scalar, vector, and matrix properties into their own files for improved compile times 2016-11-27 01:17:38 +01:00
Alexander Bock
c199d38aac Add setting to SpiceManager that disables exceptions (closing #142)
Disable exceptions on default
2016-11-24 10:57:53 +01:00
Alexander Bock
70af0f0073 Add an option to the configuration manager to append the scene name to the cache directory (closing #159) 2016-11-07 13:39:01 +01:00
Alexander Bock
c880ee421a Make OpenSpaceModule able to report their version number 2016-10-29 23:13:37 +02:00
Alexander Bock
317ecad9ac Potential fix for High-DPI and manual framebuffer sizes by using SGCT window scaling 2016-10-23 22:55:26 +02:00
Alexander Bock
542f92e768 Add a fix to the window resolution for Retina displays
Add a new setting to the ConfigurationManager that can specify whether to scale the onscreen text by window size or resolution
2016-10-18 18:52:30 +02:00
Emil Axelsson
6c5c8d6839 Make gcc happy 2016-10-10 17:36:55 +02:00