Commit Graph

243 Commits

Author SHA1 Message Date
Alexander Bock
acdfefe46d Merge branch 'master' into feature/loadingscreen-refactor
# Conflicts:
#	modules/base/rendering/renderabletrailorbit.h
#	modules/digitaluniverse/rendering/renderablebillboardscloud.cpp
#	modules/digitaluniverse/rendering/renderableplanescloud.cpp
#	modules/digitaluniverse/rendering/renderablepoints.cpp
#	modules/galaxy/rendering/renderablegalaxy.cpp
#	modules/galaxy/rendering/renderablegalaxy.h
#	modules/kameleonvolume/rendering/renderablekameleonvolume.cpp
#	modules/kameleonvolume/rendering/renderablekameleonvolume.h
#	modules/spacecraftinstruments/rendering/renderablefov.h
#	modules/spacecraftinstruments/rendering/renderableplaneprojection.h
#	modules/toyvolume/rendering/renderabletoyvolume.cpp
#	modules/toyvolume/rendering/renderabletoyvolume.h
#	modules/volume/rendering/renderabletimevaryingvolume.cpp
#	modules/volume/rendering/renderabletimevaryingvolume.h
2017-11-08 19:10:59 -06:00
Alexander Bock
b50b52d351 Cleanup for coding style
Add strict mode to check_style_guide script
2017-11-08 10:35:39 -06:00
Alexander Bock
dc9831b6a6 Add progress bar to the loading screen
Add configuration options to customize the loading screen
2017-11-05 14:49:46 -05:00
Alexander Bock
6ecb180ac0 Some more work on rendering loading screen information 2017-11-04 11:12:22 -04:00
Alexander Bock
735d6378d9 More work on loading screen
Multithreaded SceneGraphNode initialization
2017-11-03 14:06:51 -04:00
Alexander Bock
78e3320cde Separate Renderable::initialize into initialize and initializeGL functions
Handle initialize in a separate thread and display rudimentary loading screen
2017-11-02 14:27:35 -04:00
Alexander Bock
9b6028028a Clean up RenderEngine 2017-10-24 03:16:29 -07:00
Alexander Bock
269dda8aff Remove runTime from OpenSpaceEngine and place in WindowWrapper instead 2017-10-24 01:33:53 -07:00
Alexander Bock
eaca6c7487 Add SceneLicense information to the Scene
Add documentation generator to SceneLicense
2017-10-23 18:11:09 -07: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
Alexander Bock
c3825cc81e Only display commit hash text overlay if there is information available
Add version and commit information into a global property
2017-08-31 11:37:22 -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
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