Commit Graph

50 Commits

Author SHA1 Message Date
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
Alexander Bock
6a198c5d93 Started some warning cleanup 2017-07-14 14:21:01 -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
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
Alexander Bock
302fa06067 More code cleanup 2017-05-15 14:39:48 -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
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
dc3ded891b Started with code cleanup of Globebrowsing 2016-12-04 10:34:25 +01:00
Erik Broberg
88fd08ef96 Merge branch 'feature/globebrowsing' of github.com:OpenSpace/OpenSpace into feature/globebrowsing 2016-11-23 12:26:15 +01:00
Erik Broberg
36e3f62508 Add enabling of stats collection for ChunkedLODGlobe in GUI 2016-11-23 12:23:38 +01:00
Alexander Bock
92676c107f Remove wrong type of whitespace
Remove circular header dependency
Increase the time setting of the GUI
2016-11-12 11:16:15 +01:00
Erik Broberg
ae6d27e474 TileIOResult -> RawTile, PreprocessData -> TileMetaData 2016-11-07 17:03:06 +01:00
kalbl
708ddd8400 Clean up and document Chunk code 2016-10-27 21:51:03 +02:00
Erik Broberg
6104b1fb58 Change ColorTextures to ColorLayers etc 2016-10-26 18:49:51 +02:00
Erik Broberg
21b41e3ec0 Clean up and remove unused code 2016-10-26 14:40:35 +02:00
Erik Broberg
ee9bb36a06 TileProviderManager -> LayerManager. Fix shader recompilation bug 2016-10-19 16:10:56 +02:00
Erik Broberg
331191bf03 Renaming Layer, LayerGroup. Cache activeLayers 2016-10-19 14:44:09 +02:00
Erik Broberg
974fc6bb52 Rename TileAndTransform to ChunkTile 2016-10-19 12:18:38 +02:00
kalbl
7f62bd7206 Create namespace globebrowsing. 2016-10-18 15:40:27 +02:00
kalbl
670497c16d Update file structure in globebrowsing 2016-10-15 13:22:22 +02:00
kalbl
2f13b9e9f4 Simplify the ability to add more per layer settings and move layered rendering src files to separate folder. 2016-10-15 03:04:09 +02:00
Erik Broberg
cdf954d2aa Rename: ChunkIndex -> TileIndex 2016-10-05 21:06:03 +02:00
kalbl
423c55ba38 Update structure of properties for renderable globes. 2016-10-02 21:30:26 +02:00
Kalle Bladin
7a22763143 Remove texture cateory HeightMapOverlays 2016-09-14 20:08:33 -04:00
Alexander Bock
d5063b116c Compile fixes 2016-08-29 02:33:50 +02:00
Erik Broberg
7568912a7d Bounding chunk heights considers multiple heightmaps and handles missing data 2016-07-15 18:56:03 -04:00
Erik Broberg
2ec2c95cd7 Add forgotten updates for last commit 2016-07-15 17:16:48 -04:00
Erik Broberg
a2cd9bc19d Add static const CHUNK::DEFAULT_HEIGHT to avoid magic numbers in code 2016-07-15 14:21:29 -04:00
Erik Broberg
d06c470636 Fix bounding heights (used for culling) for chunks with heightmap overlays 2016-07-15 13:48:00 -04:00
Erik Broberg
f1d8e42dff Add TileProviderGroup and use to represent tile provides in same category 2016-07-12 14:59:35 -04:00
Kalle Bladin
a23c38e5b3 Improve chunk bounds. 2016-06-22 21:06:56 -04:00
Erik Broberg
911cf7a77d Move rendering function calls from Chunk and ChunkNode to ChunkedLodGlobe 2016-06-21 21:09:19 -04:00
Erik Broberg
c7ff3a4730 Remove unused GUI property chunkHeight 2016-06-21 17:21:37 -04:00
Erik Broberg
9df878e237 Use smart pointers in ChunkLodGlobe and RenderableGlobe 2016-06-21 16:26:38 -04:00
Erik Broberg
5dcddfe5e9 Separate tile selection from tile provision 2016-06-16 00:08:13 -04:00
Erik Broberg
faec017cef Make Chunk bounding polyhedron fully, but still not tightly, encapsulate the chunk 2016-06-15 14:27:14 -04:00
Erik Broberg
454e19dd83 Add method getBoundingPolyhedronCorners in Chunk class 2016-06-14 21:42:44 -04:00
Erik Broberg
3d7722f4b1 Move ChunkLevelEvaluators classes to separate file 2016-06-14 11:19:22 -04:00
Erik Broberg
5025e09d77 Merge branch 'feature/globebrowsing' of github.com:OpenSpace/OpenSpace-Development into feature/globebrowsing 2016-06-14 10:32:16 -04:00
Erik Broberg
53870a7ef0 Add depth first search chunk iteration std::function as argument 2016-06-14 00:34:14 -04:00
Kalle Bladin
88555a1e1b Merge branch 'feature/globebrowsing' of github.com:OpenSpace/OpenSpace-Development into feature/globebrowsing 2016-06-14 00:20:55 -04:00
Erik Broberg
5b3725806f Improve desired level by projected area 2016-06-13 23:32:24 -04:00
Kalle Bladin
164e133ce9 Update tileprovidermanager to loop through texture categories. 2016-06-13 22:17:15 -04:00
Kalle Bladin
b5f1a09b8c Cache uniform IDs upon recompiling of shader programs. Renaming of uniforms in shader code. 2016-06-13 18:57:18 -04:00
Erik Broberg
ebdb906adf Make desired chunk level by distance calculation taking into account the chunks bounding height 2016-06-13 18:32:50 -04:00
Erik Broberg
f850aa53e6 Make it easy to compare desiredChunkLevel approaches through a simple common interface 2016-06-13 18:15:30 -04:00
Erik Broberg
84e6e9a7af Modularize desired chunk level calculation for easy testing of different approaches 2016-06-13 16:30:22 -04:00
Erik Broberg
795846f6ee Updated file structure and removed unused class GlobeMesh 2016-06-10 11:53:26 -04:00