Commit Graph

363 Commits

Author SHA1 Message Date
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
Alexander Bock
aa20c677dd Move onscreen rendering into SGCT's render2D function (closes #181)
Same fix makes GUI windows work again (closes #412)
2017-11-09 18:12:13 -05:00
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
Emil Axelsson
87595812d2 Remove BOM 2017-11-06 21:22:43 +01:00
Emil Axelsson
1f33359697 Cleanup and better configuration of resource syncs 2017-11-05 23:17:51 +01: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
Emil Axelsson
fba556b11f Always create a camera 2017-10-31 10:55:20 +01:00
Emil Axelsson
f9ec20812d Introduce AssetManager 2017-10-27 10:57:39 +02:00
Emil Axelsson
157d91d631 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-10-26 13:43:49 +02: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
6d8ec8a7c6 Compile fix for clang 2017-10-22 20:54:55 +02:00
Emil Axelsson
9e5a033cd2 Use shared pointers for assets 2017-10-19 15:48:07 +02:00
Emil Axelsson
2623912ec9 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-10-16 11:07:24 +02:00
Emil Axelsson
18c50afeb5 Work on data management. Add some tests 2017-10-13 16:56:53 +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
Emil Axelsson
aaed6ab6d7 Work on asset loader and assets 2017-09-15 14:05:43 +02:00
Emil Axelsson
af8bec1441 Prepare for data sync 2017-09-14 20:16:51 +02:00
Emil Axelsson
4cdae984e9 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-09-11 11:52:31 +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
Emil Axelsson
2426545a05 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management
Conflicts:
	src/rendering/renderengine.cpp
	src/scene/scene.cpp
	src/scene/sceneloader.cpp
	tests/test_concurrentjobmanager.inl
	tests/test_concurrentqueue.inl
	tests/test_sceneloader.inl
2017-08-15 11:43:18 +02: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
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
1a475ef570 Started documenting properties
Cleanup of Nagivationhandler properties
2017-07-24 00:15:45 -04: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
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
Emil Axelsson
f091444972 Make it possible to toggle asset dependencies in the gui 2017-07-11 17:02:21 +02:00
Emil Axelsson
0fe71b5c2e Move more scene loading logic to assets 2017-07-07 18:13:00 +02: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
Emil Axelsson
ee36a97762 Improve asset lua interface. Simplify scene loading. 2017-07-06 16:40:35 +02: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