Commit Graph

598 Commits

Author SHA1 Message Date
Alexander Bock
b1110c9eee Fix keybindings and properties documentation 2017-09-01 10:50:18 -04:00
Alexander Bock
f57feb01d3 Fix meridian shift issue on Pluto
Easier configuration of Pluto image textures from within the scene file
2017-08-21 13:53:05 -04:00
Alexander Bock
222bbe22ab Feature/gb gui (#390)
Implemented new GUI component to handle WMS servers
* Add Lua scripts to support adding GIBS datasets (closes #222)
* Add Lua function to load WMS servers from a predefined file

* Workaround for Visual Studio 15.3 compile fix in Windows headers

* Initial support for parsing GetCapabilities file and automatically add layers

* Add a Trigger property to remove a layer

* Support default servers

* Add default file

* Move WMS server code from GUI component into GlobeBrowsingModule

* Add Lua scripts for loading and removing WMS servers
Automatically load default servers on startup

* Reset tile provider before removing a layer tolimit the crash risk
Add "From focus" button to switch globebrowsing gui to the same node as the focus

* Remove warnings
Remove compile error with nonexisting GDALOpenEx function
2017-08-19 20:23:08 -04:00
Alexander Bock
9d4a69b6e7 Quick fix for mars.mod 2017-08-17 10:17:32 -04:00
Alexander Bock
e056ad561f Add MOC WA Mars texture as torrent
Organize mars textures correctly
2017-08-17 10:15:28 -04:00
Alexander Bock
7d3b0d7822 Update new horizons data files (kernels and textures) 2017-08-17 09:36:05 -04:00
Alexander Bock
82fd196ddd Organize WMS minidrivers for Moon, Mars, and Mercury
Add WMS minidrivers from AWS servers
2017-08-15 13:57:34 -04:00
Kalle Bladin
afe449c67d Specify no padding for layer 2017-08-08 16:39:58 +02:00
Kalle Bladin
71f811fcd8 Tiles now have the same size even if padding is enabled. 2017-08-08 16:11:16 +02:00
Kalle Bladin
902af5b321 Solve conflict 2017-08-07 10:24:30 +02:00
Alexander Bock
8349a3639b Minor fixes 2017-08-04 14:14:41 -04:00
Alexander Bock
e4ef40ad72 Add functions to recursively parse and add color layers described in .info files 2017-07-31 16:50:21 -04:00
Alexander Bock
c04b379520 Enable the selection of constellation bounds through the mod file 2017-07-29 01:57:16 -04:00
Alexander Bock
31377466ba Remove return values from initialize and deinitialize functions 2017-07-28 17:51:25 -04:00
Alexander Bock
fc63e51ece Sort milkyway and stars
Remove keybinding scripts
Remove satellites
2017-07-28 14:10:55 -04:00
Alexander Bock
be6d34d5df Fix SphericalGrid 2017-07-28 13:41:03 -04:00
Alexander Bock
dfce5a0aad Fix the missing wms files for Earth, Mars, Moon, and Mercury
Fix the spherical grid
2017-07-28 01:38:32 -04:00
Alexander Bock
e64a4b6079 More scene cleanup 2017-07-27 17:54:44 -04:00
Alexander Bock
5ca44d4aa1 Allow RenderableGlobe to have a single radius
Make GlobeBrowsing scene the new default scene
2017-07-27 17:24:22 -04:00
Alexander Bock
e794f6ae01 Remove rotation and shift meridian from RenderablePlanetProjection
Unify the property names in RenderablePlanet
Remove MainFrame from RenderableShadowCylinder
Clean up dictionary keys for RenderableModel, RenderableModelProjection, RenderablePlanetProjection
2017-07-27 02:09:50 -04:00
Alexander Bock
8c581fc7d9 Rename SpiceTranslation's "Body" to "Target" 2017-07-27 00:41:04 -04:00
Alexander Bock
19f8e30813 Change RenderableModel "Rotation.ModelTransform" to "ModelTransform"
Add Property descriptions to the documentation file
Remove update method from StaticTranslation
Remove spelling error in RenderableGlobe
Remove rotation from renderablemodel projection
Fix setting the Origin through the GUI
Reorder Optional and documentation arguments for DocumentationEntry, and making Optional a non-optional argument
2017-07-27 00:22:17 -04:00
Alexander Bock
ce034ccc96 Remove startup warnings 2017-07-26 16:46:20 -04:00
Alexander Bock
51e1541cf1 Fix static initialization fiasco with touch input
Restore backwards compatibility of mod files
Provide better feedback about specification errors
2017-07-26 16:12:13 -04:00
Alexander Bock
036b271d0d Change capitalization of property names 2017-07-22 18:22:44 -04:00
Alexander Bock
1abb9ccfe6 Update the Sun glare reference 2017-07-21 10:04:53 -04:00
Kalle Bladin
3aa8f2a056 Recompile shaders at initialization of globes 2017-07-19 10:01:53 +02:00
Kalle Bladin
a14eae32e4 Merge branch 'master' into feature/globe-generalization 2017-07-18 15:12:20 +02:00
Alexander Bock
00e684f7dc Merge remote-tracking branch 'origin/master' into misc/cleanup
# Conflicts:
#	data/scene/default.scene
#	modules/globebrowsing/globes/pointglobe.cpp
#	modules/globebrowsing/tile/rawtiledatareader/tiledatatype.cpp
2017-07-15 13:22:46 -04:00
Matthew Territo
0dc96c3bc8 default, osirisrex, & satellites 2017-07-14 18:22:02 -06:00
Alexander Bock
35636890da Various fixes for the New Horizons scene
- Fix transparency issue making the New Horizons module invisible
  - Fix the offsets of the instruments on board New Horizons
  - Fix the missing projections occurred by switching the radius specifications from PSC to regular coordinates
  - Update the accurate kernel usage
2017-07-14 18:53:40 -04:00
Alexander Bock
0a93fa64c4 Remove non-existing resetCameraDirection 2017-07-14 16:02:19 -04:00
Kalle Bladin
1457301e1d Merge branch 'master' into feature/globe-generalization 2017-07-14 17:19:37 +02: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
Jonathan Bosson
d9fa55581f changes from PR comments 2017-07-13 20:10:35 -06:00
Kalle Bladin
42ff93c4da Add fallback texture for Mars 2017-07-14 00:26:01 +02:00
Kalle Bladin
28a6365aa2 Add the ability to have fallback textures 2017-07-13 23:49:39 +02:00
Jonathan Bosson
78c301ec8d Merge branch 'master' into feature/multitouch 2017-07-13 11:07:39 -06:00
Klas Eskilson
98534bc1ec Normalize ALL the line endings (#361)
* Normalize ALL the line endings

* Add Ghoul respository and openspace.cfg
2017-07-13 12:08:47 -04:00
Jonathan Bosson
76e0e6c59c last merge with master 2017-07-10 18:41:06 -06:00
Kalle Bladin
4f903ac030 Feature/globebrowsing (#334)
Layer support for globe browsing:

Add layers using the function openspace.globebrowsing.addLayer
Delete layers using openspace.globebrowsing.deleteLayer
Layer type does not necessarily have to be of tile type. For example solidcolor does not use tiles
Blend modes for layers are Normal, Add, Subtract, Multiply, Color
Layer adjustments to affect layers. The current only active one is chroma key to cut out a color from the layer. Transfer functions or clipping masks are examples of layer adjustments for the future.
Support for adding layer specifications for quickly accessing GIBS layers:
openspace.globebrowsing.createGibsGdalXml
openspace.globebrowsing.createTemporalGibsGdalXml
The arguments for these functions are currently strings. Would it be better to use a lua dictionary?
No data values for height layers are correctly regarded (can be seen on Earth. No longer bumps on the poles)
Other minor things:

Worked a bit on point globe to render globes at large distances. Currently not in use and doesn't have anything to do with the other things.
Concurrent job manager takes a thread pool as argument and not a pointer to one. This is because the concurrent job manager needs to have ownership of the thread pool for correct deinitialization. Will cause breaking change for users of concurrent job manager if merged in to master.


* Add ability to add layers programatically.

* Clean up

* Fix order of deletion in concurrent job manager and clean up

* Can create by level tile provider with empty dictionary.

* Add script to add GIBS datasets.

* Start working with layer adjustment

* Update mod files

* More work on point globe

* Add script to create temporal GIBS datasets.

* Update temporal tile provider to be able to take gdal descriptions without file path.

* Add adjustment property to layers.

* Rename adjustment layer

* Add adjustment code to all layer groups

* Remove caching of gdal datasets due to cluttering of folders

* Document layer support

* Update Mars mod

* Make Mercury great again.

* Cleanup and add blend mode Color

* Enable setting of layeradjustment and blend mode from mod files.

* No more use for grayscale color overlays. Use grayscale layer with color blend mode instead.

* Clean up mod files

* Clean up

* Clean up

* No need for grayscale layers. Reading grayscale in to rgb instead for color layers.

* Remove unused layer groups

* Correctly read to grayscale layers

* Update globe mod files

* Rename ColorOverlays to Overlays.

* Clean up

* Clean up

* Solve compilation error
2017-07-10 20:34:39 +02:00
Alexander Bock
90c7eef724 Remove explicit coordinate transformation from RenderableConstellationBounds (closes #300) 2017-06-09 13:59:09 -04:00
Alexander Bock
f1b4d6ddc7 Update Moon WMS files to allow unsafe SSL 2017-06-08 12:46:31 -04:00
Alexander Bock
1169625783 Update GDAL version to 2.2.0 2017-06-08 12:30:16 -04:00
Alexander Bock
ea44e7a26b Fix billboard rendering for satellite trails
Add necessary scene graph node for satellites into lodglobes/earth
Update base files of satellite TLEs
2017-06-07 12:42:21 -04:00
Gene Payne
be1b211dfb Feature/satellites (#325)
* Initial commit of satellites test branch

* Modified code to work with batch TLE files from online links specified in .mod file. Does not yet auto-download the files.

* Added debug function to mod file for testing static points in orbit

* Fixed time offset bug that was corrupting satellite positions

* Minor changes for debug output and camera position.

* Changed to circle billboard for rendering satellite position

* Added satellite group name to each renderable title, and keyboard shortcuts for toggling visibility

* Added support for using ghoul luasocket lib to download latest satellite TLE files from celestrak.com

* Adding reference to updated Ghoul submodule containing luasocket changes

* Updating reference to latest Ghoul submodule in feature/satellites

* Updated reference to new ghoul version

* Updated reference to new ghoul submodule version for satellites

* Updated reference to new ghoul submodule version for satellits

* Updated versions of TLE files

* Added new Lua-accessible downloader available for scene loading

* Improved error handling for TLE files

* Updated submodule reference for ext/ghoul prior to luasocket addition

* Update SGCT reference
2017-06-06 13:42:38 -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
Jonathan Bosson
4cdd4ed931 Merge fix with master 2017-05-19 12:43:58 -06:00
Jonathan Bosson
3a93825979 fix to XY-axis issue with zoom/roll, change to three-finger-case 2017-05-16 17:15:35 -06:00
Alexander Bock
38e2521743 Some more work on new LuaConsole
Add Inconsolata font
2017-05-16 14:47:44 -04:00