Commit Graph

165 Commits

Author SHA1 Message Date
Alexander Bock
bac54732f9 Fix to properly support ImGui with exponents that caused an assertion in Debug mode 2021-05-30 16:45:37 +02:00
Alexander Bock
c3ba532bdb Feature/cleanup (#1608)
* Revert screenlog back to showing Info and above messages
 * Various code cleanup
2021-05-25 14:08:33 +02:00
Alexander Bock
92432caed2 Adapt to changes in Ghoul that made absPath return a std::filesystem::path instead of a std::string 2021-05-17 00:23:15 +02:00
Alexander Bock
ccdc5a5dc3 Feature/filesystem cleanup (#1587)
* Adapting to the changes in Ghoul
* First step of moving filesystem functions to std
* Remove persistence flag from cachemanager
2021-05-16 20:26:49 +02:00
Emma Broman
91387d8401 ListProperties and SelectionProperty (#1558)
* Reimplement stringlistproperty with a listproperty parent class

* Add string list property tests and structure test files

* Reimplement SelectionProperty and add tests

* Some TemplateProperty documentation updates

* Read full constellation name and not just first word for ConstallationSelection

* Remove support for setting property value from string (unused)

* Add IntListProperty, DoubleListProperty

* Bug fix: SetProperty topic now support empty json objects

* Imgui renderings for list properties and pass SelectionProperty  info to WebGui
2021-04-19 16:10:36 +02:00
Emma Broman
63fa95504c Expose ImGui external to other modules
And update demo function name to match new version
2021-03-02 08:48:25 +01:00
Emma Broman
157ffff25b Update imgui external 2021-03-01 13:24:28 +01:00
Alexander Bock
7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Alexander Bock
067c0f4b27 Introduction of new Dictionary class (#1446)
* Adapting to introduction of new Dictionary class in Ghoul
 * Mainly replacing usage of float instead of doubles as expected
 * Adjust to the lack of the hasKeyAndValue function
2021-01-02 15:07:11 +01:00
Alexander Bock
ad8af3ffeb Feature/CMake (#1443)
General CMake cleanup/overhaul
* Enable precompiled headers for all projects
* Move specifications itto separate CMakeLists files
  * Add openspace-core as a subdirectory
  * Move handle_modules functionality into modules/CMakeLists.txt
  * Move handleapplications logic into apps/CMakeLists.txt
* Introduce openspace-module-collection interface library to simplify inclusion of modules in applications
* Turn module initialization into a two-step process to adapt to the new minimal dependency scenario
* Compile time speedup
  * Remove circular dependencies between modules and core preventing multithreaded compilation on MSVC
  * Build Spice multithreaded and as static library
  * Remove dependency from core to module-webbrowser
  * Remove unused dependency from kameleon
  * Remove additional unnecessary dependencies
  * Cleanup volume/kameleon/kameleonvolume modules
  * Fix visibility issues. Restrict include paths
  * Compile kameleon in parallel
* Other cleanup
  * Only copy CEF files from one target (hard-coded to OpenSpace right now)
  * Remove unused instrumentation code
  * Remove the ability to render AABB for globes as it caused a circular dependency between GlobeBrowsing and Debugging
  * Removing compiler and cppcheck warnings
  * Turn almost all includes into non-system includes
  * Don't warn on deprecrated copy
* Updated submodules
2020-12-28 18:26:57 +01:00
Alexander Bock
d95c6c4a47 Removing Clang on MacOS warnings. No longer create external control that doesn't work anymore 2020-12-08 00:24:24 +01:00
Alexander Bock
86bb19d81c Feature/warnings (#1425)
* Remove MSVC, GCC, Clang compiler warnings
* Remove cppcheck warnings
2020-12-07 23:43:05 +01:00
Alexander Bock
efffc25ce0 Feature/globals handling (#1352)
* Cleaner handling of global state
* Prevent Lua memory corruption (closes #982)
* Initialize glfw first thing to prevent weird joystick loading bug during startup
2020-10-21 22:30:05 +02:00
Alexander Bock
af6e15da40 Merge remote-tracking branch 'origin/master' into feature/openglstatecache
# Conflicts:
#	ext/ghoul
#	modules/digitaluniverse/rendering/renderablebillboardscloud.cpp
#	modules/digitaluniverse/rendering/renderableplanescloud.cpp
#	src/util/screenlog.cpp
2020-09-04 14:02:17 +02:00
Alexander Bock
00a00c9cc8 Merge branch 'master' into feature/general-performance
# Conflicts:
#	apps/OpenSpace/main.cpp
#	modules/server/src/topics/timetopic.cpp
2020-09-04 13:49:00 +02:00
Alexander Bock
20d1e391cb Adding a new ImGui component for explicitly adding GIBS layer 2020-09-01 02:27:08 +02:00
Jonathas Costa
25cd3fdc0b Merged master again. 2020-08-24 13:44:26 -04:00
Jonathas Costa
f0c397d6be Merged maste. Changed code in multiple places to have the new memory pool working on linux (experimental yet). 2020-08-20 15:34:40 -04:00
Alexander Bock
e93f1833be Make more use of temporary string objects in the TimeQuantizer
Add GPU markers to the rendering
2020-08-19 18:26:11 +02:00
Alexander Bock
cabb962f6a Use temporary memory arena to create unsorted list of tiles, preventing dynamic memory allocations 2020-08-13 16:48:18 +02:00
Alexander Bock
b78d1dd033 Merge branch 'master' into feature/memory-allocations
# Conflicts:
#	include/openspace/scene/scenegraphnode.h
#	modules/imgui/include/gui.h
2020-08-05 19:06:04 +02:00
Alexander Bock
6e9db78f40 Remove performance measurements that have been supersceded by using Tracy 2020-08-05 18:28:08 +02:00
Alexander Bock
25247c7a37 Create SceneGraphNodes in memory pool 2020-08-05 10:46:16 +02:00
Alexander Bock
e783807d66 Next step towards enabling a managed memory version of templatefactory 2020-08-04 21:56:39 +02:00
Alexander Bock
1e9df1cb4b Merge branch 'master' into feature/profiles
# Conflicts:
#	include/openspace/scene/assetloader.h
#	src/scene/assetloader.cpp
2020-06-14 17:54:25 +02:00
Alexander Bock
433d96bbb4 SGCT compile fix
First pass for pull request
2020-06-11 00:24:58 +02:00
Alexander Bock
d1e5670ce5 More cleanup of asset ownership 2020-05-09 18:33:01 +02:00
Alexander Bock
befef58e80 More cleanup 2020-05-06 21:54:02 +02:00
Alexander Bock
340444ce0d Cleanup AssetManager class 2020-05-06 21:40:23 +02:00
Alexander Bock
01f0a864dc Yet more cleanup of Asset-related files 2020-05-06 20:33:27 +02:00
Alexander Bock
5e37cb5ac3 Some coding style cleanup 2020-03-28 20:45:14 +01:00
Mikael Pettersson
fb7036c497 Made imgui handle touch input as the webgui does
Also removed imgui-handling code in touchinteraction
2020-03-11 13:23:46 +01:00
Alexander Bock
5e29145395 Coding style cleanup 2020-02-14 19:37:06 +01:00
Alexander Bock
d8e9db76a3 Update the copyright header to 2020 2020-02-10 21:51:01 +01:00
Alexander Bock
9491f73803 More GLM initialization fixes 2020-02-10 01:18:27 +01:00
Alexander Bock
8f112fa219 Compile and runtime fixes when running in Debug
Do not crash if ScreenSpaceLocalImage does not exist
Add ability to specify identifier/name when adding screenspace items in the UI
2019-07-22 14:14:12 +02:00
Alexander Bock
0c36a999d2 Fix for globebrowsing widget in ImGUI 2019-05-27 13:46:12 +02:00
Alexander Bock
595cbc4bcf Feature/cleanup (#837)
* Style guide fixes
* Various cleanups
* Update SGCT
2019-05-03 13:27:43 +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
Emil Axelsson
738a5900d4 Patch imgui to work with new anchor and aim structure 2019-02-20 10:26:09 +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
c7639adb15 Remove warnings in Clang 2019-01-19 14:49:31 +01:00
Alexander Bock
9d0f0e00df Revert native ui back to F1 keybind for toggling 2018-11-21 11:14:11 -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
Gene Payne
568143638d Fixed touch interface bug github issue #682, and fixed upper-left corner menu tap toggle. (#739) 2018-10-29 10:01:49 -04:00
Alexander Bock
635df258d4 Add option to press Shift while clicking the time shifting to immediately jump, instead of interpolate 2018-10-08 18:12:50 -06:00
Alexander Bock
428ab56d99 Update ghoul and adapt to ghoul change by moving std::to_string to ghoul::to_string 2018-10-08 17:54:32 -06: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
Emil Axelsson
43e115d651 Add shortcut to change focus interpolation time (#707)
Closes #707
2018-09-03 01:50:47 -04:00