Commit Graph

217 Commits

Author SHA1 Message Date
Alexander Bock f2a0cb18b0 Feature/websocketnavigation (#882)
* Upgrade JSON Library
* Added support for navigation based on websocket communication
2019-07-31 11:07:25 +02:00
Alexander Bock f7fafa5255 Add scripts to manipulate the camera
Add example asset using the new scripts for an IPAC
2019-07-29 13:13:16 +02:00
Alexander Bock 62728e84d0 Remove binary property. Make volume modules part of default build (#878) 2019-05-20 18:03:36 -06:00
Emil Axelsson c08805745b Feature/check latest version (#876)
* Log latest version information
2019-05-20 16:13:56 -06:00
Emil Axelsson 2dec3f3640 Merge branch 'feature/remove-duplicate-code' 2019-04-24 13:38:19 +02:00
Emil Axelsson a504486568 Remove duplicate code 2019-04-24 13:35:59 +02:00
Emil Axelsson 50ff2d96d2 Cleanup for Spheres and PSC (#827)
* Fade fixes
  * Clean up RenderableSphere. Add orientation properties.
  * Sane defaults for Digital Universe
  * Clean up New Horizons related code
  * Add basic scene
  * Add ability to initialize rotation as quaternion and mat3
  * Adapt legacy code to new Renderable interface
2019-04-24 13:34:49 +02:00
Emil Axelsson 53e07d90e1 Feature/documentation topic (#822)
- Implement documentation topic that can be used to query documentation using the network API.
- Implement a way to pass arguments to lua scripts using json (rather than formatting entire lua string clientside)
- Implement ability to attach callback to lua script executions
- Implement abillity to transport return values from lua scripts back to network API clients.
- Do not initialize server interface on slave nodes.
- Implement Dictionary -> json converter using nlohmann json library
2019-04-03 10:30:28 +02: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
Gene Payne b671ad35e6 Feature/session recording (#737)
* In progress with new version of session recording

* Session recording coding pass for both record and playback, not building yet.

* Working on getting first build of prototype

* Code changes to get playback working with all 3 timing modes

* Fixing session recording interactions with the timemanager

* Bug fixes for newly discovered timing issues, mothballing recording of timing updates

* Fixed camera jitter issue

* Updated new reference to latest ghoul

* Got session recording/playback working with changes made in master

* Added threshold for differences in camera movement as criteria for saving to recording file

* Added support for binary file for session recording/playback

* Minor changes with handling timeManager keyframes in playback

* New timeline structure & keyframes specific to session recording

* Fixed bug with fixed-script size

* Switched to new timeline specific to session recording, bug fixes, currently debugging camera position & rotation

* Formatting changes only

* Fixed scripts not working after timeline change

* Add session recording test scene

* Fixed problem with re-running the same playback multiple times

* Fixed problems with camera interpolation

* Fixed detection of camera playback finishing, and improved camera interpolation

* Added comments for interface of externInteraction include

* Fixed view frustum culling issues in session playback due to not appropiate camera scaling. Also made function in datamessagestructures to read and write this data to streams.

* Added camera scaling fix to code that supports Ascii format

* Added startPlayback default command for playing back while forcing simulation time to match the recording

* Fixed camera jump in sessionRecording after playback finished. Cleanup in playback of camera to re-use same functionality in keyframenavigator.

* Superb fix to sessionRecording. Realized focusNode of globalNavigationHandler needed to be activly update when camera change for either position of camera to be accurate or for rendered objects to be calculated without precision issues. Can now achieve a correct playback, even close to chunks/renderable, which was not possible before.

* sessionRecording cleanup, fixed all warnings and renamed files to lowercase to match current standards.

* Added error handling for bad input playback filename, protection from corrupted playback file

* Implemented code review changes on pull request #737 for sessionRecording
2018-11-01 18:24:10 -06: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 9a44a42f4c First attempt (#745) 2018-10-30 16:16:12 -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 0ca84d91f1 Feature/cmake cleanup (#727)
* Sweeping CMake cleanup
* Cleaning up message log in CMake
2018-09-21 14:25:51 -04:00
Alexander Bock 24ef67afa0 Add helper methods to quickly render boxes (finalizing and #closes 696) 2018-09-02 02:18:40 -04:00
Alexander Bock 9f1c4e847d Feature/globals (#690)
* Move global objects out of OpenSpaceEngine
 * General cleanup of main.cpp
 * Add default_joystick asset to all scenes
 * No longer suppress mouse interaction on slave nodes
 * Window delegate uses function pointers rather than subclassing
 * Fix for false overwriting of ImGUI configuration file
 * Change default color and tilt angle of fisheye rendering
 * Restructured performance manager
 * Simplify screenshot handling
2018-08-30 11:38:47 -04: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
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 b4be63af65 Feature/configuration (#605)
* Switch openspace.cfg file from a Dictionary-based loading to a variable based loading
 * Change ConfigurationManager to not use Dictionary anymore, but a struct with explicit configuration values instead
2018-04-20 18:40:21 -04:00
Alexander Bock 3810209365 Issue/451 (#595)
* Add ability for Joystick input
* Change location of LuaConsole files
2018-04-20 16:12:18 -04:00
Emil Axelsson d64a0df5f6 Feature/thesis work merge (#566)
Web GUI from Klas Eskilson (three new modules: webgui, webbrowser and cefwebgui)
Parallel connection refactorization
Wormhole server added to the main repository
Transfer function editor work from Cristoffer Särevall
Update ghoul
2018-03-20 09:30:59 +01: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
Alexander Bock 6d76080370 Simplify script precondition argument checks 2018-02-15 17:56:12 -05:00
Alexander Bock 53cfc7dd91 Cleanup GPUData and remove confusing UniformLocation class 2017-12-31 17:31:41 -05:00
Alexander Bock dcfef3557f Update copyright header 2017-12-29 20:11:22 +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 570ce9813d Add CMake configure file that writes the Git branch and commit hash into a file 2017-12-23 20:27:54 +01:00
Emil Axelsson 09182c9274 Cleanup code 2017-12-19 11:48:30 +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 167222c814 Feature/dashboard (#431)
Merging Dashboard branch that introduces the Dashboard, DashboardItem and moves most of the screen rendering code into a component-based layout that can also be displayed as a screenspace renderable

* Add Onscreen Dashboard
  * Add Dashboard class
  * Add DashboardItem classes and subclasses
  * Added font and fontsize customization to dashboarditems
  * Add default dashboard specifications to all scenes
  * Add tests.scene to test dashboard items
  * Add configuration options to DashboardItemDistance
  * Fix distance conversion to correctly use singular or plural values
  * Make DashboardItems unique when adding them to a dashboard
  * Correctly position test with different font sizes
  * Add Dashboard Item that enables spacing between other items
  * Add performance measurement to dashboard rendering
  * Add method to DashboardItemDistance that computes distance to surface
  * Add DashboardItemAngle that computes and prints the angle between three objects
  * Add DashboardItemInstruments that shows the instruments on New Horizons
  * Add ability to OpenSpaceModules to return a list of Luascripts defined by child objects
  * Make it possible for ScreenSpaceDashboard to work with its own dashboard or the main one
2017-12-13 17:11:54 -05:00
Emil Axelsson 1417db5ed7 Let assets control their own lifecycle 2017-12-12 14:55:30 +01:00
Jonathas Costa 5eb11cfc49 Merged master into NewAtmosphere. 2017-12-07 11:31:51 -05:00
Emil Axelsson f33b24d551 Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-12-07 11:44:14 +01:00
Alexander Bock be98c3d784 Add TemplateProperty<std::vector<std::string>> as StringListProperty
Add default gui sorting to all scenes
2017-12-06 17:04:10 -05:00
Emil Axelsson fb675dfeab Merge branch 'master' of github.com:OpenSpace/OpenSpace into feature/data-management 2017-12-04 10:52:12 +01:00
Jonathas Costa 6363fc0bb2 Added missing include and merged master into NewAtmosphere. 2017-11-25 22:39:18 -05:00
Alexander Bock 026f51735b Show distance from current focus object
Add conversions for time and space to show distance and delta time in manageable units
Remove warnings
Add deinitializeGL call to Renderengine
2017-11-25 18:30:13 -05:00
Emil Axelsson 7c80384d12 Decentralize asset synchronization 2017-11-16 15:09:55 +01: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 f183b9536f Implement GUI button and featured elements on touchbar 2017-11-10 13:19:46 -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
Emil Axelsson 03aab55a1f Asset synchronization using HTTP 2017-11-05 19:02:31 +01:00
Alexander Bock 9577f2dd49 Start adding loading screen code 2017-11-02 16:56:49 -04:00
Emil Axelsson f9ec20812d Introduce AssetManager 2017-10-27 10:57:39 +02:00