Commit Graph

135 Commits

Author SHA1 Message Date
Alexander Bock
21fd957f28 Add an option for hardcoding a fixed bounding sphere that is used if there is no renderable attached to a scenegraph node 2019-02-20 16:55:48 +01:00
Emil Axelsson
2e71eaa4cb Feature/anchor and aim (#799)
Introduce the ability to navigate using an anchor and aim.
Example use: Set spacecraft as anchor and planet as aim to always look down at a planet, while followin the spacecraft in its orbit.
2019-02-19 18:46:58 +01:00
Alexander Bock
c7a96a6b59 Address clang tidy complaints
Update Ghoul repository
Update SGCT repository
2018-11-30 15:34:09 -05:00
Alexander Bock
cba6201b67 Minor coding style changes 2018-11-07 13:49:33 -05:00
Emil Axelsson
7181de4673 Feature/webgui ops (#723)
* Update node packages, download nodejs in build process, start server from openspace process
  * Patch CEF cmake automatically
  * Build webserver automatically
  * Work on CMake for WebBrowser, Webgui and CefWebGui
  * Map key modifiers to CEF
  * Smooth time interpolation in webgui
  * Automatically focus on search field in filter lists
  * Move webgui code to external repositories
  * Use asset system to distribute webgui
  * Remove webgui from main repository
  * Add support for right click in webgui and improve timetopic
  * Resolve cmake policy warning
  * Add relative time interpolation to lua interface
  * Sanitize json error message before logging error. Workaround for #736
  * Added gui properties to scene graph nodes
  * Add version topic
  * Add shortcuttopic
  * Add ability to disable rendering of cefwebgui
  * Don't do message loop work if there is no browser.
  * Set correct path to nodejs on unix
  * Message loop work in presync
  * modifications for shortcuts in gui, added names for shortcuts
  * Set properties via lua scripts
  * Allow gui grouping for shortcuts
  * Add gui paths keybindings
  * Blocking keyboard callbacks when webgui has keyboard focus in an editable field
  * Allow disabling of WebBrowser and CefWebGui
  * Make it possible to hide GUI
  * Get rid of redundant dashboard items if web gui is used
  * Hide WebGUI on slave nodes
  * Hide WebGUI on main rendering window if a GUI window exists
 * Enable WebGUI on default unless it is overwritten in the openspace.cfg
  * Add guiName for propery owners in socket api
2018-11-05 20:45:38 -05:00
Alexander Bock
9047dc7a3e Feature/globebrowsing speedup (#735)
* Removal of ChunkRenderer, ChunkedLodGlobe, ChunkCuller, chunklevel evaluator, culling classes, layershadermanager, GpuLayer, GPUData, ChunkNode, Grid, BasicGrid, Chunk files, Angle, AABB classes, PointGlobe, Ellipsoid, TileSelector, tiledatatype, iodescription, simplerawtilerreader, rawtilereader
 * Less dynamic allocation for SkirtedGrid, LayerManager, RenderableGlobe, TextureUnit
 * Clean up memory management in RawTiles
 * Code simplification
 * Optimize shader uniform setting
 * Introduce UniformCache
 * Callback simplification
 * Turn ChunkNode into a struct
 * Use a MemoryPool to organize all ChunkNodes rather than use unique_ptr and the necessary memory allocation
 * Collect draw calls
 * Consolidate fragment shaders between local and global renderer
 * Shader cleanup and optimization
 * Update CMake to not include included shaders
 * Integrate traversal function into the looping
 * Replace std::queue with std::vector
 * Merge TextureContainer into MemoryAwareTileCache
 * Lazy computation of chunk bounding boxes
 * Memory management of LayerGroup
 * Remove class hierarchy from tileproviders (temporaltileprovider not working yet)
 * Remove PBO classes
* Chunk status stored in Chunk
* Don't create a copy of the ChunkTilePile
* Enable culling by projected area on default
* Have raw tile reader return a Tile instead of a shared_ptr to a tile
* Start making GDAL mandatory
* Increase the default lod scale factor to 15
2018-10-30 17:20:06 -04:00
Alexander Bock
54d1a506c3 Add rotation class that provides a constant rotation based on in-game time (closes #662)
Refactor functions for rotation, scaling, and translation to take UpdateData rather than current time
2018-07-18 15:28:24 -04:00
Alexander Bock
2751ee327c Update Ghoul repository to show milliseconds in log timestamps
Add log information to the SceneGraphnode to show initialization and OpenGL initialization of nodes
2018-07-16 17:44:50 -04:00
Alexander Bock
12c87969a7 Add BoolProperty to SpaceModule to control SpiceManager exception handling (closes #661)
Add debugging indices to SceneGraphNodes
Rename ImGui indices debugging definition
2018-07-12 17:48:34 -04:00
Emil Axelsson
1b3df16c28 Feature/time frame (#642)
* First implementation of time frames
* Add TimeFrameUnion. Only show solar system 1850-2150.
* Consider dependencies when determining whether time frame is active
* Code review fixes.
2018-07-11 10:42:06 +02:00
Alexander Bock
4952f8f977 Code cleanup branch (#618)
* Make height map fallback layer work again
  * Add documentation to joystick button bindings
  * Removed grouped property headers
  * Add new version number constant generated by CMake
  * Make Joystick deadzone work properly
  * Change the startup date on Earth to today
  * Fix key modifier handling
  * Add debugging indices for TreeNodeDebugging
  * Fix script schedule for OsirisRex
  * Do not open Mission schedule automatically
  * Upload default projection texture automatically

  * General code cleanup
  * Fix check_style_guide warnings
  * Remove .clang-format
  * MacOS compile fixes
  * Clang analyzer fixes
2018-06-10 04:47:34 +00:00
Alexander Bock
b5be0db02c Make removeSceneGraphNode remove recursively correctly 2018-05-03 15:24:12 -04:00
Alexander Bock
4041bbb935 Cleanup (#600)
* General Code Cleanup
 * Add check for TABs to check_style_guide.py
 * Removing warnings
2018-04-19 13:27:15 -04:00
Alexander Bock
34987e9f85 Prevent floating point over- and underflows; specifically when interpolating the camera position (closes #575) 2018-04-10 15:04:41 -04:00
Alexander Bock
df68ab557d * Rudimentary fix to make side_by_side stereo work in master
* Fix Triton asset file
 * Display an error if no Property matches a regex in setPropertyValue
 * Correct user-facing name for some Moon assets
 * Add fade in and fade out helping functions
 * Reenable label fading in New Horizons
 * Added GUI hint to hide uninteresting nodes
 * Set Hidden Hint on barycenter nodes
2018-03-17 16:54:42 -04:00
Alexander Bock
db7ae7e384 Issue/453 (#556)
* Introduced guiName to PropertyOwner
  * Added requirement that PropertyOwner::identifier may not contain whitespaces
  * Changed Name to Identifier in asset and scene files
  * Added new PropertyOwner to RenderEngine that owns the ScreenSpaceRenderables
  * Moved Name and GuiPath into GUI group
  * Added user-facing names to layer groups
2018-03-16 09:21:29 -04:00
Alexander Bock
a3c849843f Feature/new formatting (#547)
* Change to new logging format (closes #542)
 * Adds a screenshots folder that uses the application startup time
 * Creating focus nodes for VRT files if the info files contain location information
 * Fix issue with removing virtual properties
 * Add a method for returning the cartesian coordinates for a geolocation on a planet
2018-03-07 18:10:32 -05:00
Emil Axelsson
4c2f72226f Performance Optimizations (#450)
* Make derived transform classes less involved in simulation state
* Add performance measurements in openspaceengine
* Avoid redundant transformation lookups
* Fix bug causing redundant calls to GPULayerManager::bind
* Move water reflectance to alpha component of normal buffer. Remove otherData buffer.
2018-01-08 09:43:41 +01:00
Alexander Bock
dcfef3557f Update copyright header 2017-12-29 20:11:22 +01:00
Alexander Bock
c9a3c68f19 Fix style guide issues
Update Ghoul repository
2017-12-29 19:18:06 +01:00
Alexander Bock
1ddde4b6e1 Merge commit 'a9661f681e115ebed096f5d25343dc99aad0f33f' into feature/data-management
# Conflicts:
#	data/scene/default.scene
#	data/scene/digitaluniverse/abell/abell.mod
#	data/scene/digitaluniverse/backgroundradiation/backgroundradiation.mod
#	data/scene/digitaluniverse/constellations/constellations.mod
#	data/scene/digitaluniverse/grids/grids.mod
#	data/scene/digitaluniverse/quasars/quasars.mod
#	data/scene/digitaluniverse/sloandss/sloandss.mod
#	data/scene/digitaluniverse/tully/tully.data
#	data/scene/digitaluniverse/tully/tully.mod
#	data/scene/earth/earth.mod
#	data/scene/grids/grids.mod
#	data/scene/mars/mars.mod
#	data/scene/milkyway/digitaluniverse/digitaluniverse.mod
#	data/scene/moon/moon.mod
#	data/scene/satellites/tle/geo.txt
#	data/scene/satellites/tle/gps-ops.txt
#	data/scene/satellites/tle/stations.txt
#	modules/imgui/src/renderproperties.cpp
#	modules/sync/ext/libtorrent
#	openspace.cfg
#	src/rendering/renderengine.cpp
2017-12-27 19:39:40 +01:00
Alexander Bock
fac3780ce9 Remove warnings on MacOS 2017-12-26 23:06:11 +01:00
Emil Axelsson
d4278f9adc Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-12-17 18:30:00 +01:00
Emil Axelsson
df259f6d02 Multithreaded scene initialization 2017-12-17 17:34:46 +01:00
Jonathas Costa
eead4b7f25 Merged master into NewAtmosphere. 2017-12-14 15:55:27 -05:00
Alexander Bock
23a446cb2c Update Ghoul repository
Adapt to changes that absPath is not called automatically as often anymore
Remove atmosphereearth.scene
2017-12-13 21:55:29 -05:00
Jonathas Costa
952f8e8e13 Merged master into NewAtmosphere. 2017-12-12 13:43:40 -05:00
Alexander Bock
a631b7e0a3 Making most logger categories constexpr 2017-12-11 23:46:34 -05:00
Jonathas Costa
0264a3026c Merged master into NewAtmosphere. 2017-11-15 18:12:58 -05:00
Emil Axelsson
62c5506250 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-11-13 11:18:00 +01:00
Alexander Bock
f227767492 Merge remote-tracking branch 'origin/master' into feature/loadingscreen-refactor
# Conflicts:
#	modules/volume/rendering/renderabletimevaryingvolume.cpp
2017-11-12 10:50:11 -05:00
Emil Axelsson
19812af629 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-11-11 19:10:42 +01:00
Alexander Bock
758e26789c More coding style conformance 2017-11-11 11:25:49 -05:00
Emil Axelsson
cb07af4a2b Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-11-10 16:07:58 +01:00
Jonathas Costa
929bd9ae05 Merged. 2017-11-09 15:46:46 -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
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
97f78a09df Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-10-19 10:27:34 +02:00
Jonathas Costa
d36e32e560 Merged master into NewAtmosphere. 2017-10-17 20:14:41 -04:00
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
Jonathas Costa
2d0da72a50 Merged master into atm. 2017-08-16 12:00:28 -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
8a62e6e791 Add description to PropertyOwner 2017-08-01 17:05:52 -04:00
Alexander Bock
31377466ba Remove return values from initialize and deinitialize functions 2017-07-28 17:51:25 -04:00
Jonathas Costa
49c8af702b Fixed bug preventing atm's disabling option. 2017-07-27 15:25:52 -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