Commit Graph

50 Commits

Author SHA1 Message Date
Alexander Bock a4e3af700c Add option to break on floating point exceptions 2022-08-01 14:29:45 +02:00
Alexander Bock d7d279ea16 Happy new year 2022-01-01 12:32:55 +01:00
Emma Broman 77bdfaefd6 Move camera path code into core and refactor navigation code a bit 2021-06-23 09:12:36 +02:00
Alexander Bock 2aa540a112 Feature/interactionsphere (#1561)
* Add ability to render the bounding sphere as a debug option
* Separate boundingsphere and interactionspheres
* Correctly compute BoundingSpheres for more renderables (RenderablePlanesCloud, RenderableOrbitalKepler)
2021-04-26 13:13:36 +02:00
Alexander Bock 7004c02b86 Happy new year 2021-01-02 15:26:51 +01:00
Alexander Bock 6e9db78f40 Remove performance measurements that have been supersceded by using Tracy 2020-08-05 18:28:08 +02:00
Alexander Bock f7170a9506 Turn the scaling transformation into providing three scaling factors (x, y, z)
Add NonUniformStaticScale class to provide independent scaling factors (closes #1151)
2020-05-12 15:27:24 +02:00
Alexander Bock d8e9db76a3 Update the copyright header to 2020 2020-02-10 21:51:01 +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 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
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
Alexander Bock dcfef3557f Update copyright header 2017-12-29 20:11:22 +01:00
Jonathas Costa 3ea918b818 Multiples fixes and added max text size for grids. 2017-12-19 17:49:30 -05:00
Jonathas Costa 758ee8bd6d Pull request changes. 2017-08-15 18:15:56 -04:00
Jonathas Costa 20003d5b32 Merged master into NewAtmosphere. 2017-07-21 15:02:24 -04:00
Jonathas Costa b0c65d416b Merged master into NewAtmosphere. 2017-07-17 16:22:33 -04:00
Alexander Bock 0e9edaeb12 Fix byte order mark commits
Update Ghoul
2017-07-17 15:54:00 -04:00
Alexander Bock 4dba552fd1 Started switching OpenSpace projects to nested namespaces
Various cleanups
2017-07-15 20:01:55 -04:00
Kalle Bladin 2e4f31ded8 Interaction Updates (#353)
* Interaction speed is not dependent on framerate

* Split up interaction code in files and perform smooth interpolation when changing focus

* Abstract interaction code in to functions.

* Interpolation time is dependent on angle to focus node.

* Use correct delta time when interpolating

* Fix bug regarding decomposition of camera rotation.

* Make orbital interaction mode behave as globe browsing and no longer use interactiondepth below ellipsoid.

* Do not always rotate with object. Depending on distance

* Remove interaction depth below ellipsoid. Now able to interact without renderable

* Remove specification of interactionDepthBelowEllipsoid and cameraMinHeight

* Remove GlobeBrowsingInteractionMode

* Rename OrbitalInteractionMode to OrbitalNavigator and no longer extend interactionmode.

* Move properties from interaction handler to orbital navigator

* Use smooth step for follow rotation interpolator

* Rename KeyframeInteractionMode to KeyframeNavigator

* Rename files

* Clean up.

* Separate mousestate from orbitalnavigator

* Clean up

* Split keybindingmanager from interactionhandler interactionhandler

* Rename interactionhandler to navigationhandler

* Rename files

* Clean up

* Take back usage of gotochunk and gotogeo

* Rename lua library navigation

* Move functionality from navigationhandler to keyframenavigator

* Update scripts for navigation

* Comment code

* Clean up

* Solve but that caused NaN values for camera position when being in center of globe and setting focus to the globe.

* Update jenkins file to remove build folder before building.

* Fix error in jenkins script

* Update jenkins file

* Update jenkins file

* Revert jenkins file

* I hope this makes Jenkins happy.

* Line endings God damnit

* Line endings

* Clean up

* Fix compilation issue

* Take back default scene.

* Fix indentation

* Move functions goToGeo and goToChunk to GlobeBrowsingModule.

* Include algorithm for std::find

* Remove auto and other clean up
2017-07-14 17:17:17 +02:00
Jonathas Costa 0cd56d776c Merged master into NewAtmosphere. 2017-05-24 16:53:34 -04:00
Emil Axelsson 752081d31b feature/time-refactor (#294)
- Change Time class to become a non-singleton
- Move ownership of the current time to TimeManager(instead of singleton access).
- Store the Time as a Syncable in TimeManager instead of representing all member variables of Time as Syncables.
- Pass a Time object around in the update/render methods, so that renderables don't have to query the OpenSpaceEngine to know if time is paused or if it jumped.
- Introduce Timeline and Keyframe classes
- Make use of Timelineand Keyframeclasses in KeyframeInteractionMode and TimeManager
- Added basic unit tests for Timelineand Keyframe

Future work: Add interpolation schemes for keyframes. Possibly use keyframes+interpolation feature to tween/morph properties, or figure out if this should be a separate mechanism.
2017-05-22 14:01:08 +02:00
Jonathas Costa 8615860686 Added Deferred Support for Atmosphere. 2017-04-19 13:45:06 -04:00
Jonathas Costa 454e530ad6 Added deferred rendering support files. Fixed Volume rendering in framebufferrender. 2017-04-18 00:04:29 -04:00
Alexander Bock 94e3e11188 Update copyright header to 2017
Update Ghoul repository
Remove libgdal link
2017-02-06 18:02:01 -05:00
Alexander Bock d139dd2d22 Clean include guards in OpenSpace core
Remove unused files
2016-12-09 13:54:22 +01:00
Alexander Bock 683fc8ee53 Pr/trails (#170)
* Implement new RenderableTrails as abstract base class
  - Implement RenderableTrailsOrbit and RenderableTrailsTrajectory as concrete instances
Remove old RenderableTrails and RenderableTrailsNew classes
Adapt mod files to the new structure

* Addressed Pull Request comments
2016-11-23 10:35:46 +01:00
Alexander Bock 4597bde05a Cleaned up RenderableRings
Some minor performance improvements
2016-10-29 22:15:17 +02:00
Alexander Bock ae6ade497b Merge branch 'feature/render-bins' into feature/rosetta
Conflicts:
	data/scene/earth/earth.mod
	include/openspace/util/updatestructures.h
	modules/base/shaders/ephemeris_fs.glsl
	modules/base/shaders/plane_fs.glsl
2016-08-29 15:53:59 +02:00
Emil Axelsson bc58623467 add render bins to improve rendering of transparent objects using framebuffer renderer 2016-08-25 18:26:59 +02:00
Kalle Bladin 628f8b479f Update updatestructures to have transform with translation, rotation and scale. 2016-08-18 16:59:51 -04:00
Kalle Bladin ae1f8e457b Update RenderableGlobe to use transformation from SceneGraphnNode and fix bug in SpiceRotation. 2016-08-18 14:21:20 -04:00
Kalle Bladin 542b9e11e6 Update SceneGraphNode to have a full transformation defined in terms of translation, scale and rotation. 2016-08-17 00:19:25 -04:00
Kalle Bladin bd867ec402 Update SceneGraphNode to contain rotation information and remove rotation definition from renderable model. 2016-08-12 12:28:56 -04:00
Kalle Bladin 4e0bbe2da0 Solve bug that cause some vertices to be misplaced in MultiModelGeometry and calculate MVP matrix for renderable model in double precision 2016-08-02 19:14:52 -04:00
Kalle dd7abd355a GlobeBrowsingInteractionMode makes camera follow rotation of the globe and make globebrowsing work with spice kernels 2016-07-01 17:42:49 -04:00
Alexander Bock 906470f28e Untabify the rest of the source files
Update Ghoul repository
2016-04-18 20:14:29 +02:00
Emil Axelsson ebe10a29b5 Volume rendering compatible with abuffer and framebuffer renderers 2016-03-21 16:40:24 +01:00
Alexander Bock 877a4d1ba6 Updated copyright header 2016-02-05 17:43:21 +01:00
Alexander Bock cdf228975a Started cleanup of Time class 2015-12-23 17:44:05 -05:00
Alexander Bock fd0501d61c Defined default constructor for RenderData 2015-05-24 14:30:18 +02:00
Alexander Bock f2a7ea9630 Fixing compile warning 2015-05-23 01:39:23 +02:00
Alexander Bock 3155073f05 More changes to allow JupiterProjection and PlutoProjection in the same scene
Add a switch that allows Renderables to react to big changes in time (via openspace.time.setTime)
Allow the setting of the minimum pixel size of stars
2015-02-24 19:16:15 +01:00
Alexander Bock 43a3716afd Intermediate result to change viewpoint from Jupiter projection to Plutoprojection 2015-02-24 17:52:40 +01:00
Alexander Bock a6ebddb8eb Updated copyright header in all files 2015-02-17 14:20:03 +01:00
Joakim Kilby 52e51b76bf added initializedata struct
It is so far empty but will be used later on for initialization
2015-02-17 08:19:07 +01:00
Alexander Bock 90eac194dc Initial work on performance measuring 2014-12-09 01:41:42 +01:00
michal 938c442dd6 got renderable ephemeris working for larger deltas, problems with leap years though 2014-10-02 11:00:43 -04:00
Alexander Bock 7359adf400 Replaced RuntimeData with separate, temporary structs that are passed around 2014-09-26 13:29:01 +02:00