Commit Graph

54 Commits

Author SHA1 Message Date
Emil Axelsson
cb77e2839c Fix bug with accurate normal rendering in stereo 2018-02-14 18:17:59 +01:00
Emil Axelsson
499879c84e Start to implement stereo support with adaptive stereoscopic depth 2018-02-14 15:05:52 +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
dcfef3557f Update copyright header 2017-12-29 20:11:22 +01:00
Alexander Bock
cc178d03f3 Remove clang warnings
Update SGCT repository
2017-12-29 19:47:33 +01:00
Alexander Bock
c9a3c68f19 Fix style guide issues
Update Ghoul repository
2017-12-29 19:18:06 +01:00
Jonathas Costa
56854012a5 Fixed bug in local normals. 2017-12-06 12:40:33 -05:00
Jonathas Costa
ae9da60356 Improve Earth's night side. 2017-11-30 12:38:50 -05:00
Jonathas Costa
6363fc0bb2 Added missing include and merged master into NewAtmosphere. 2017-11-25 22:39:18 -05:00
Alexander Bock
719130b6b7 Jenkinswarnings (#419)
* Remove more warnings

* Removing more warnings

* More warning fixes

* More warnings

* More warnings

* Update ghoul
2017-11-16 21:19:28 -05:00
Jonathas Costa
0264a3026c Merged master into NewAtmosphere. 2017-11-15 18:12:58 -05: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
Alexander Bock
758e26789c More coding style conformance 2017-11-11 11:25:49 -05:00
Alexander Bock
7e4bb0b2c6 Merge branch 'master' into feature/loadingscreen-refactor 2017-11-09 22:49:07 -06:00
Alexander Bock
afa1d6d33e Add strict test for whitespace at end of line
More work on coding style
2017-11-09 23:47:51 -05:00
Jonathas Costa
929bd9ae05 Merged. 2017-11-09 15:46:46 -05:00
Alexander Bock
acdfefe46d Merge branch 'master' into feature/loadingscreen-refactor
# Conflicts:
#	modules/base/rendering/renderabletrailorbit.h
#	modules/digitaluniverse/rendering/renderablebillboardscloud.cpp
#	modules/digitaluniverse/rendering/renderableplanescloud.cpp
#	modules/digitaluniverse/rendering/renderablepoints.cpp
#	modules/galaxy/rendering/renderablegalaxy.cpp
#	modules/galaxy/rendering/renderablegalaxy.h
#	modules/kameleonvolume/rendering/renderablekameleonvolume.cpp
#	modules/kameleonvolume/rendering/renderablekameleonvolume.h
#	modules/spacecraftinstruments/rendering/renderablefov.h
#	modules/spacecraftinstruments/rendering/renderableplaneprojection.h
#	modules/toyvolume/rendering/renderabletoyvolume.cpp
#	modules/toyvolume/rendering/renderabletoyvolume.h
#	modules/volume/rendering/renderabletimevaryingvolume.cpp
#	modules/volume/rendering/renderabletimevaryingvolume.h
2017-11-08 19:10:59 -06:00
Alexander Bock
b50b52d351 Cleanup for coding style
Add strict mode to check_style_guide script
2017-11-08 10:35:39 -06:00
Alexander Bock
b886925616 Move OpenGL in globebrowsing from constructors into initialization functions
Place entire scene loading into separate thread
2017-11-03 16:25:06 -04:00
Jonathas Costa
a925d0646a Added lunar eclipses back. 2017-10-19 11:41:36 -04:00
Jonathas Costa
d36e32e560 Merged master into NewAtmosphere. 2017-10-17 20:14:41 -04:00
Kalle Bladin
7aceb54bec Globe browsing: fix implicit conversion errors and remove warnings (#393)
* Fix implicit conversion errors and remove warnings.
2017-09-01 12:03:31 -04:00
Jonathas Costa
2d0da72a50 Merged master into atm. 2017-08-16 12:00:28 -04:00
Kalle Bladin
948507f20e Fix previous error appearing when accurate normals were used without height layers. 2017-08-16 14:35:56 +02:00
Kalle Bladin
293cc3e063 Make use of accurate normals for globe atmosphere rendering 2017-08-10 10:49:14 +02:00
Jonathas Costa
eb87fa4390 Fixed accurate normals in globebrowsing after problematic merging. 2017-07-24 13:39:32 -04:00
Jonathas Costa
20003d5b32 Merged master into NewAtmosphere. 2017-07-21 15:02:24 -04:00
Alexander Bock
7737b082d9 Removing more warnings 2017-07-17 18:03:37 -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
26682669ff More work on making use of nested namespaces 2017-07-16 01:55:35 -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
Kalle Bladin
4ecb98f06f Feature/globe shading (#363)
* Perform Oren Nayar diffuse shading on globes.

* Remove unused propertyowner

* Enable accurate normals for globes

* Use property for accurate normals.

* Correctly calculate height when scale is changed.

* Auto update line endings to LF in main.cpp and openspaceengine.cpp

* Clean up and comment

* Convert shader indentation to spaces (Wooooops..).

* Line endings

* Line endings and small fixes

* Line endings

* Clean up
2017-07-14 16:33:03 +02:00
Jonathas Costa
0965ec95ba Merged Master into ATM. 2017-06-02 19:02:29 -04:00
Jonathas Costa
87c74629b2 Fixed bug in local patch normal transformation. 2017-06-02 15:58:40 -04:00
Kalle Bladin
f51f293989 Feature/globebrowsing optimization (#310)
* Simplest possible PBO implementation.

* Add PBO class

* TileLoadJob owns raw tile data

* Working on a soluton to cache textures and reuse them

* PBO and cached textures working for one texture type. Color textures.

* Threadpool for tile requests uses LRU cache as queue

* Remove framesUntilRequestFlush

* Clean up

* Clean up

* Use prioritizing concurrent job manager

* Use TileTextureInitData to initialize RawTileDataReader.

* Class TextureContainer owns the textures to use for tiles.

* Using TileTextureInitData to determine if new caches need to be created.

* Remove WriteDataDescription

* Remove TileDataLayout

* Rendering many different layer types again

* TileProviderByLevel gives layergroup id to tile providers

* Comment away use of PBO

* Erase unfinished requests to make room for new ones

* Enable choice of PBO or not.

* Enable resetting of asynctiledataprovider

* Add the ability to use PBO and also load to CPU

* Update ghoul

* Solve culling issue.

* Texture pointer of Tile is now a raw pointer. Currently break single image tile provider and text tile provider.

* Add gpudata

* Move fetching of shader preprocessing data to LayerManager

* No comparisons to determine shader recompilation.

* Show the tile cache size in the GUI

* Clean up and comment.

* Solve bug where float is interpreted as NaN

* Enable ability to blend between layers again

* Fix single image provider

* Fix windows build error

* Fix OSX compile issue.

* Some clean up

* Showing correct texture data size

* Enable use of text tile providers again. No backgroupd image path however.

* Change cache size from GUI

* Clean up

* Solve osx compilation error.

* Update ghoul

* Make it possible to switch between PBO and not during runtime.

* Enable resetting of tile datasets

* change function module in moduleengine to identify module by name

* MemoryAwareTileCache is no longer a singleton

* Update ownership of properties for globe browsing

* Logging info about resetting tile reader.

* Logging info

* Fix requested changes

* Fix some compile warnings.

* Fix compilation warnings

* Add ability to blend values with blend parameter. Also define settings through lua dict.

* Fix some comments on pull request.

* Change formatting

* Change formatting

* Change formatting

* Fix pull request comments.

* Those are details

* Make Mercury great again.

* Make Earth great again.

* Solve conflict

* Test to sometimes use valueblending and sometimes not

* Not always use value blending

* Update ghoul

* Change from auto to explicit type.

* Update test for LRU Cache

* Include algorithm.
2017-05-30 15:37:05 +02:00
Jonathas Costa
f134eb3531 Changed normals from Eye to Model space in GlobeRendering G-Buffer. Fixed and improved ground irradiance reflection. 2017-05-26 14:32:02 -04:00
Jonathas Costa
d632b41710 Merged master into NewAtmosphere. 2017-05-18 12:33:08 -04:00
Jonathas Costa
d7f541ec3b Changed part of the Atmosphere's shaders to work with Globebrowsing (Precision problems to be fixed). 2017-05-15 17:04:00 -04:00
Alexander Bock
302fa06067 More code cleanup 2017-05-15 14:39:48 -04:00
Jonathas Costa
587d5c8d75 Initial merging of ATM with Globebrowsing. Still missing code. 2017-05-12 16:46:12 -04:00
Alexander Bock
da3e912026 Remove warnings on MacOS in Clang 2017-04-25 19:12:42 -04:00
Alexander Bock
dd32a812e1 Change tabs to spaces 2017-04-17 15:00:15 -04:00
Kalle Bladin
8a617ee254 Feature/globebrowsing (#281)
* Solve bug related to corrupted texture tiles for certain sizes.

* Regard layer settings when sampling height map.

* Make Tile in to a class instead of a struct.

* Memory aware lru cache. Needs cleanup.

* Clean up and comment.

* Clean up and comment.

* Clean up

* Clean up and comment.

* Fix compilation error on Windows.

* Specify data type explicitly in GDAL xml config files for Utah height maps. Closes #242

* Update the key type for the memory aware lru cache and use a unordered map instead of a map.

* Solve pixel row size bug.

* Solve initialization bug.

* Add cache size as property of the globe browsing module.

* Use memory aware tile cache for text tile provider.

* Log GDAL errors as GHOUL messages

* Add the ability to toggle tile level limiting by available data

* Add ability to toggle GDAL logging

* Add lock guard to memory aware tile cache

* create base class rawtiledatareader that can be extended with different implementations than GDAL.

* Let GdalWrapper take care of global GDAL settings.

* Move iodescription to separate file

* Move some functionality from gdalrawtiledatareader to rawtiledatareader

* Move functionality from gdalrawtiledatareader to rawtiledatareader.

* GDAL is no longer a necessary dependency for the globebrowsing module. However to read tiles, the SimpleRawTileDataReader needs to be implemented. Otherwise GDAL is needed.

* Add ifdef check for GLOBEBROWSING_USE_GDAL

* Implement SimpleRawTileDataReader. Currently can only read pow 2 textures.

* Change ints to unsigned long longs

* Limit number of texture creations per tile provider per frame

* Solve linker error on windows

* Fix Windows build errors

* Fix crash in reading local patches

* Update lodglobe descriptions

* Abstract away overviews in gdal raw tile data reader

* Update Mars and Moon configs.

* Update screenshot script

* Update ghoul version

* Remove use of interaction depth below ellipsoid

* Normalize direction vector

* Use scale for distance swotch

* Go back to use of interaction depth below ellipsoid

* Fix comments on pull request.

* TileProviderByLevel error does not propagate up.

* Comment on mars and moon mod file

* Add model space cut off level as a property

* Update ChunkTile struct

* Minor clean up

* Go back tu constructor for ChunkTile
2017-04-13 10:14:47 +02:00
Alexander Bock
fbea8389c8 - Add check in style guide that prevents ‘using namespace’ in header files
- Remove using namespace ghoul::opengl from Globebrowsing and adjust
2017-03-01 21:02:33 -05:00
Alexander Bock
0d03177d43 Feature/globebrowsingcleanup (#230)
* Initial restructuring of the Globebrowsing branch

* Update Ghoul repository
Fix include guards

* More cleanup

* Split texttileprovider subclasses into separate files

* Move TileProviders into namespace

* Convert static class methods into free functions

* Splitting tile subclasses into their own files
Remove `using namespace` from header file

* Split TileDataSet subclass into separate file
Update SGCT reference

* Move shader preprocessing data into internal class

* More Globebrowsing cleanup

* More cleanup
Remove unused Convexhull class
2017-02-15 21:20:05 +01: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
ab6a952193 Some more code cleanup 2016-12-04 11:23:41 +01:00
Alexander Bock
dc3ded891b Started with code cleanup of Globebrowsing 2016-12-04 10:34:25 +01:00
kalbl
0df09d23ad Add possibility to switch geographic position 2016-11-29 13:29:02 +01:00