Commit Graph

44 Commits

Author SHA1 Message Date
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