Commit Graph

164 Commits

Author SHA1 Message Date
Alexander Bock 6d821d4f91 Feature/codegen (#1480)
* Add the ability to automatically generate code to extract values out of a Dictionary (see https://github.com/openspace/codegen for more information on how to use this)
* Applied this technique to a large number of cases in the codebase
* Don't add _codegen files to the repository

Co-authored-by: Emma Broman <emma.broman@liu.se>
2021-02-09 09:12:43 +01:00
Alexander Bock 2a69758eef Apply simplification of shadow sources and casters to RenderableGlobe 2021-01-03 22:10:42 +01:00
Alexander Bock 44f2a500c5 Simplify specification of shadow casters and light sources in atmosphere 2021-01-03 18:27:49 +01:00
Alexander Bock 0bc3bb4065 Simplification of RenderableAtmosphere
- Removing duplicate member variables and indirection
 - Asset: Replacing AtmosphereRadius with AtmosphereHeight
 - Asset: Rename GroundRadianceEmittion to GroundRadianceEmission
 - Add Documentation checking to Dictionary value retrieval
 - Remove unused Image group
2021-01-03 18:06:36 +01:00
Alexander Bock 198160000d Simplify the dictionary value extraction in the RenderableAtmosphere 2021-01-03 11:57:00 +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 86bb19d81c Feature/warnings (#1425)
* Remove MSVC, GCC, Clang compiler warnings
* Remove cppcheck warnings
2020-12-07 23:43:05 +01:00
Alexander Bock 60e3ed2170 General pass for coding style 2020-11-28 22:31:06 +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 2cca451898 Coding style adaptations
Adapt to changes in Ghoul
2020-08-25 13:47:03 +02: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 88b6fdd9fe Add more Tracy markers in different renderables 2020-08-18 12:58:40 +02:00
Alexander Bock b16ee5b35a Adapt to changes in Ghoul regarding string_view
Fix compile error if Trace logging is not enabled
Limit the number of threads to a maximum of 4 for asset initialization
2020-08-18 10:07:38 +02:00
Alexander Bock a553f3eeff Remove optimization pragma 2020-08-07 15:46:34 +02:00
Alexander Bock ca728a2f35 Remove some dynamic memory allocation from deferred atmosphere caster 2020-08-07 15:03:27 +02:00
Jonathas Costa 393fbdca3d OpenGL State Caching. 2020-07-31 15:59:28 -04:00
Alexander Bock fb69d81a7a Coding style fixes 2020-07-07 13:18:41 +02:00
Jonathas Costa b60c6cd116 Added scaling properties to eclipses. 2020-07-01 13:13:04 -04:00
Alexander Bock c8799dcc80 Cherrypick remaining changes from the feature/catch2 branch sans the big switch to SGCT 3.0 2020-02-11 00:21:42 +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 24ce773da9 Update GLM version
Correctly initialize all values as they are no longer default-initialized
2020-02-10 00:09:31 +01:00
Alexander Bock 207db3c824 Remove PowerScaledCoordinates and rename PowerScaledSphere to Sphere (closes #4) 2019-12-27 23:29:28 +01:00
Emil Axelsson 904811f60d Small cleanup 2019-08-13 11:28:33 +02:00
Jonathas Costa 482631aa54 Fixed failed merging of master. 2019-07-31 15:05:52 -04:00
Jonathas Costa 77bc2d4e6d Improved Mars illumination. 2019-07-24 15:52:27 -04:00
Jonathas Costa 4360246863 Fixed small issues. 2019-07-23 15:37:42 -04:00
Alexander Bock e9fdd31c56 Feature/flying fixes (#924)
* Removing various warnings
 * Fix the rendering of the touchbar on Mac
 * More warnings
 * Add ghoul deinitialize
 * Update SGCT repository
2019-07-04 09:28:42 +02:00
Jonathas Costa 6b5ce52173 Merged master. It broke the bloom filter. 2019-06-19 20:47:37 -04:00
Jonathas Costa 5fc11c9df2 Version with no NVidia hdr (removed now), transparency back to previous and LDR to HDR in Colors. Fix compilation for testing. (JCC: Add back changes before clean up). 2019-06-19 20:14:34 -04:00
Emil Axelsson a75bb5a5ae Fix atmosphere stereo problem 2019-06-19 18:31:07 +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
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 c7a96a6b59 Address clang tidy complaints
Update Ghoul repository
Update SGCT repository
2018-11-30 15:34:09 -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 24ef67afa0 Add helper methods to quickly render boxes (finalizing and #closes 696) 2018-09-02 02:18:40 -04:00
Emil Axelsson 518b43db02 Fix compiler warnings 2018-08-31 14:30:35 +02: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
Alexander Bock f55828198f Adapt to UniformCache changes when updating uniform locations (closes #648) 2018-07-19 17:46:21 -04:00
Alexander Bock 8dce177d33 Remove more warnings on Jenkins 2018-07-05 14:40:54 -04:00
Jonathas Costa 3ffca283a5 Removed unsused code. 2018-07-05 14:14:13 -04:00
Alexander Bock ef61dc8c16 Rename DashboardGlobeLocation to DashboardItemGlobeLocation
Remove JSON from iswa module and use openspace one instead
Remove warnings
General code cleanup
2018-07-05 12:00:32 -04:00
Alexander Bock 99a6efca8e Declare PropertyInfo as constexpr, rather than const 2018-06-28 17:08:56 -04:00
Emil Axelsson de71cfda78 Make it possible to scale planets (#631) 2018-06-25 09:30:20 +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
Jonathas Costa 4197bb8200 Merged master. 2018-04-20 21:37:40 -04:00
Jonathas Costa ce72e6c8ad Requested changes for merging. Part VII. 2018-04-20 21:15:25 -04:00