Commit Graph

79 Commits

Author SHA1 Message Date
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
Matthew Territo
0a1101d0e4 Missing Destructors: Issue #307 (#308)
* Adding empty destructor for Scene.

* RenderEngine Destructor empty/no longer default

* Create empty ~ScreenLog
2017-05-18 10:13:20 +02:00
Alexander Bock
f4ad2ce4c2 More include file cleanup 2017-05-15 15:27:59 -04:00
Alexander Bock
5ebf2a4913 Rename Documented to DocumentationGenerator 2017-05-11 18:16:30 -04:00
Alexander Bock
d597750398 Some more refactoring of the documentation feature 2017-05-11 13:56:06 -04:00
Alexander Bock
0ff91e896b Fix style guide check
Fix style guide in files
2017-04-24 15:31:32 -04:00
Emil Axelsson
4b38b33e18 Clean up code for planet radius and bounding sphere calculation (#289)
- Remove some power scaled coordaintes.
- Remove spice dependency from sphere geometry.
- Remove dead code.
2017-04-18 09:58:27 +02:00
Emil Axelsson
5589de995b Feature/domecasting (#288)
* Improve dome casting feature. Add basic GUI for domecasting.

* Reenable remote scripting from Lua console. Add more settings and debug information for domecasting.

* Do not try to reconnect to parallel connection forever

* Fix interpolation bug for dome casting with globe browsing interaction mode

* Show parallel connection properties in correct GUI

* Fix bug for dome casting with globe browsing interaction mode. Add property for time tolerance.

* Update header file

* Clean up dome casting code

* Remove obsolete lua functions from ParallelConnection.
2017-04-13 23:16:00 +02:00
Gene Payne
4a312c70b8 Merge branch 'master' into feature/grouping 2017-04-13 11:23:15 -06:00
Alexander Bock
bef337c0eb Minor various fixes 2017-04-12 14:21:02 -04:00
Emil Axelsson
a108ee1f8a Fix requests from code review 2017-04-04 14:25:39 +02:00
GPayne
ae2cb222b0 Switched to using propertyowners in grouping, and group/tag name in group syntax 2017-03-21 11:35:09 -06:00
Emil Axelsson
f3931551bd Clean up scene loading 2017-03-16 17:06:33 +01:00
Emil Axelsson
ca6348194e Clean up scene loading 2017-03-14 13:40:18 +01:00
Emil Axelsson
92df9caf5a Clean up scene loading 2017-03-07 16:33:56 +01:00
Emil Axelsson
7da999c332 Merge branch 'develop' of github.com:OpenSpace/OpenSpace into pr/scenegraph-refactor
Conflicts:
	include/openspace/engine/openspaceengine.h
	src/engine/openspaceengine.cpp
	src/engine/settingsengine.cpp
	src/engine/syncengine.cpp
	src/interaction/interactionhandler.cpp
	src/rendering/renderengine.cpp
	src/scene/scene.cpp
	src/scene/scenegraph.cpp
	src/scene/scenegraphnode.cpp
	tests/test_scenegraphloader.inl
2017-03-07 10:57:50 +01:00
Alexander Bock
1689dc4047 Move the PropertyOwner name specification into the constructor and adjust accordingly 2017-03-02 18:25:13 -05:00
Alexander Bock
2f2fa3b031 Update Ghoul repository to have the factory return unique_ptrs
Adjust accordingly
2017-03-01 22:03:48 -05:00
Alexander Bock
4e52f27f9e Remove Dictionary include with forward declarations 2017-03-01 19:20:00 -05:00
Alexander Bock
8fd60ce8e6 - Remove documentation.h include and replace with forward declaration
- Move Documentation struct into documentation namespace
2017-03-01 18:13:15 -05:00
Alexander Bock
94e3e11188 Update copyright header to 2017
Update Ghoul repository
Remove libgdal link
2017-02-06 18:02:01 -05:00
Emil Axelsson
4751ce36c4 Refactor scene graph: Move scene loading to separate class. 2016-12-30 17:08:50 +01:00
Emil Axelsson
ad3921fda5 Remove unused postRender method for scene graph nodes and renderables 2016-12-14 14:14:53 +01:00
Alexander Bock
d139dd2d22 Clean include guards in OpenSpace core
Remove unused files
2016-12-09 13:54:22 +01:00
Alexander Bock
fe436748bf Implementing Translation classes for Keplerian elements as well as two-line element formats (#172) 2016-12-02 15:05:49 +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
ed4b8c9fa8 Store Translation, Rotation, and Scaling Performance measurements
If no special sorting is requested in Performance GUI, sort by name
2016-10-28 12:52:54 +02:00
Alexander Bock
4b9bed3b21 Make Translation, Rotation, and Scaling available as Properties in SceneGraphNode 2016-10-28 11:52:44 +02:00
Alexander Bock
db4524d2ac - Restructure Rotation classes to make the base class store the rotation to remove an additional virtual function
- Add Matrix verifiers
- Add documentation to StaticRotation and SpiceRotation
2016-10-26 16:47:42 +02:00
Emil Axelsson
ea1ca95df9 improve look and feel of scenegraph node property documentation 2016-09-29 13:58:18 +02:00
Alexander Bock
7ddccd8172 Rename Ephemeris files to Translation 2016-09-26 13:49:17 +02:00
Alexander Bock
a688a1eee9 Rename Ephemeris to Translation 2016-09-26 13:34:22 +02:00
Alexander Bock
428f488bb6 Add documentation to Ephemeris classes
Remove unused "Reference" specification from mod files
Add osirisrex files to gitgnore
Make Ephemeris values into properties
2016-09-20 19:24:14 +02:00
Alexander Bock
329986c0c6 Merge branch 'develop' into feature/globebrowsing
Conflicts:
	modules/base/scale/staticscale.cpp
	modules/base/scale/staticscale.h
	modules/globebrowsing/meshes/trianglesoup.h
	modules/globebrowsing/tile/tiledataset.cpp
	modules/newhorizons/shaders/renderableModelProjection_fs.glsl
	src/interaction/interactionhandler.cpp
	src/rendering/renderengine.cpp
	src/scene/scenegraphnode.cpp
2016-09-20 15:52:01 +02:00
Alexander Bock
8867b3439f Add central location for the core to register documentations
Add documentation to ScreenSpaceRenderable
Add documentation to Ephemeris
Add documentation to Rotation
2016-09-19 14:03:42 +02:00
Alexander Bock
29c989ab82 Add documentation to the documentation and verifier classes
Add static const member variable to the DocumentationEntry class for Wildcards
2016-09-18 20:47:41 +02:00
Alexander Bock
1778a7cdb6 Add documentation to SceneGraphNode 2016-09-15 13:28:52 +02:00
Alexander Bock
989e40395e Add documentation to scene description files
Check incoming scene files against the documentation/specification
2016-09-15 10:39:11 +02:00
Kalle Bladin
a82ad66374 Add scale as a property of every scenegraph node. 2016-08-26 20:32:08 -04:00
Kalle Bladin
a9b8bec7b4 Remove parts of bounding sphere definition in SceneGraphNode. 2016-08-17 00:38:18 -04:00
Kalle Bladin
64ba3d2717 Add new files supposed to be in previous commit. 2016-08-17 00:30:03 -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
2f05c8a5f0 Enable scene graph nodes to have transforms relative to parent node. 2016-08-15 13:08:30 -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 Bladin
541fbba322 Merge with develop and solve conflicts. 2016-07-18 17:26:30 -04:00
Alexander Bock
a244defdbc Add additional Lua functions that make use of regular expressions to match against fully qualified property identifiers
- Making the GUI use the new function setPropertyValueSingle to not incur the overhead of compiling the regex
 - The default setPropertyValue Lua function uses a wildcard, which replaces a * with the correct regex (.*) for ease of use
 - The setPropertyValueRegex Lua function allows a full regular expression to be used

Closing #108
2016-07-18 20:12:24 +02:00
Alexander Bock
f7f8f279de Move the LuaLibrary definition into its own file 2016-07-18 12:40:29 +02:00
Kalle
916916f82b Fix bug that caused change in camera direction when switching between interaction mode. 2016-07-12 14:52:00 -04:00
Kalle
031461307c Solve problem with unsynched world position between interaction handler and renderer. 2016-06-30 22:43:27 -04:00