Commit Graph

195 Commits

Author SHA1 Message Date
Micah Acinapura
1149a61dce resurrecting consolidated documentation (#897)
* Resurrecting consolidated documentation, lots to improve still but better then before
2019-06-03 06:19:45 -06:00
Alexander Bock
bb3db7ada7 Feature/jenkins fix (#816)
* Cleanup
* CMake cleanups
* Update current year
* Update copyright header
* Use script to return list of all modules
* Update credits, license and ghoul
2019-03-24 11:19:39 +01:00
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
267879878b Beta-3 Release Candidate branch (#753)
* Merge experimental session recording branch
 * Merge new CEF-based webgui branch
2018-11-05 20:51:48 -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
8ddc794cda Feature/alex is flying (#729)
* Correctly specify maximum text sizes for grids
 * Use StaticScale transformations in grids and remove fixed radius
 * Fix Verifier to let grids accept non-integer min and max sizes
 * Add a new scale that changes it's value based on the current time and a reference time
 * Add a proper radiosphere that grows in real time (closes #728)
 * Add default globe customization folders to the assets (closes #724)
 * Add new dashboarditem that shows the current camera velocity (closes #702)
 * Add ability to add interesting times to a scene (closes #715)
 * Reenable keybindings gui element
 * Add ShortcutManager
 * Add ability to bind keyless keybinds to use as arbitrary shortcuts (closes #710)
2018-10-08 03:00:35 -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
1e97bae229 OpenGL logging
Print warning if OpenGL logging is disabled but loglevel is too low
Fix format of printed functions

Closes 656
2018-07-13 16:22:24 -04:00
Emil Axelsson
902e3e6dac Feature/time interpolation (#669)
* Initial implementation
* Better approximation of target time
* Correctly use double precision for time passing
* Cleanup
* Adding proportional adjustment of delta time at end of interpolation
* Keyframe based time interpolation
* Add property for time interpolation duration. Move time interpolation methods to TimeManager.
* Fix bugs with time gui
* Make several clicks on delta time buttons work as expected
* Clean up
* Improve time interpolation for parallel connection
* Improve time API. Fix time interpolation bugs.
* Fix mac compile issue
* Add hour button
* Add missing + sign
* Remove newer images from projection buffer when going back in time
* Add comment about clearing projection buffer
* Fix bug with jumping time in parallel connection
* Rename integrateFromTime to previousFrameTime
* Compile fix for iswa module
* Address code review comments
* Code cleanup
* Fix bug causig unsmooth behaviour when pausing while interpolating in time
2018-07-13 11:07:35 +02:00
Emil Axelsson
6007f1d70d Feature/model lighting (#670)
* Fix NH texture and add lighting options
* Add missing comma
* Light sources: work in progress.
* Add light sources
* Remove unused values
* Add types to documentation
* Add light sources to various missions
* Code cleanup based on review
2018-07-13 09:01:43 +02: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
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
ae7e22dfe0 Adapt to typesafe ghoul::Boolean parameters 2018-03-30 13:03:17 -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
Emil Axelsson
0ce8605b97 Print error message when a resource synchronization is rejected (#546)
* Print error message when a resource synchronization is rejected
2018-03-14 13:29:38 -04:00
Alexander Bock
737e82584a Issue/24 (#549)
* Implemented property animation mechanism
 * Added easing functions to Ghoul and make them usable in animation
 * Make sure that we don't leave properties around if SceneGraphNodes are deleted
 * Adding opacity settings to base renderables
2018-03-13 10:35:10 -04:00
Emil Axelsson
4675554471 One Property Tree (#500)
* Organize properties in one single property tree
* Update scenes to work with one property tree. Fix documentation issues.
2018-03-06 16:59:06 +01:00
Emil Axelsson
a85eddff4e Clean up lua stack and weak pointers 2018-02-09 16:44:34 +01:00
Emil Axelsson
471c030567 Fix torrent bug and improve stability of asset loader 2018-02-08 13:28:41 +01: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
f5662b3fe4 Add function to asset Lua namespace that can check whether another asset exists 2017-12-31 19:41:56 -05: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
Emil Axelsson
2baa0cbb6d Fix bug with assets changing state prematurely, while loading 2017-12-22 00:15:23 +01:00
Emil Axelsson
c763b7c30c Fix state inconsistency bug in asset system 2017-12-20 12:13:18 +01:00
Emil Axelsson
09182c9274 Cleanup code 2017-12-19 11:48:30 +01:00
Emil Axelsson
f7dc598f60 Small code cleanup 2017-12-19 11:17:56 +01:00
Emil Axelsson
ff317d4b2f Show loading screen when loading assets 2017-12-18 11:55:14 +01:00
Emil Axelsson
fd550fc372 Fix compilation issues and bugs on windows 2017-12-18 10:22:42 +01:00
Emil Axelsson
df259f6d02 Multithreaded scene initialization 2017-12-17 17:34:46 +01:00
Emil Axelsson
7cc05ba2e0 More code cleanup 2017-12-16 15:37:46 +01:00
Emil Axelsson
84dfbe7b80 Clean up asset related code 2017-12-16 12:51:46 +01:00
Emil Axelsson
814de72bc2 Fix bugs in asset management 2017-12-15 18:51:22 +01:00
Emil Axelsson
75cf6dcf71 Asset work in progress 2017-12-15 13:21:10 +01:00
Emil Axelsson
a774b7b5b2 Start implementing support for removing assets 2017-12-12 17:48:33 +01:00
Emil Axelsson
d1305bee6b Cleanup 2017-12-12 15:21:17 +01:00
Emil Axelsson
1417db5ed7 Let assets control their own lifecycle 2017-12-12 14:55:30 +01:00
Emil Axelsson
e0504980ad Initialize requested assets when they are ready 2017-12-11 11:12:39 +01:00
Emil Axelsson
0396832ae5 Change notification mechanisms for assets 2017-12-08 17:36:45 +01:00
Emil Axelsson
f3dfade201 Start adding support for removing assets 2017-12-08 16:02:45 +01:00
Emil Axelsson
4a43ca44f2 Render asset tree in gui 2017-12-07 18:44:08 +01:00
Emil Axelsson
9630e735db An asset can only be considered synchronized when all required assets are synchronized 2017-12-07 11:07:15 +01:00
Emil Axelsson
175d21de9a Remove experimental code 2017-12-06 15:16:52 +01:00