Commit Graph

55 Commits

Author SHA1 Message Date
Emil Axelsson
a614f1ffda Remove some power scaled coordinates. Remove spice dependency from sphere
geometry. Remove dead code. Clean up bounding sphere code.
2017-04-13 21:27:49 +02: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
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
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
af21e40074 Split up scalar, vector, and matrix properties into their own files for improved compile times 2016-11-27 01:17:38 +01:00
Alexander Bock
4c9f7a46c4 Potential GCC compile fix 2016-09-21 22:47:38 +02:00
Alexander Bock
85492405bd Make use of referenced verifier for Renderables
Adapt HTML documentation generation
2016-09-19 11:24:37 +02:00
Alexander Bock
8f4f4c101f Updated Ghoul repository 2016-09-13 15:29:03 +02:00
Alexander Bock
0376300732 Update Ghoul
Change TriangleSoup and StatsCollector to use new Boolean class
2016-09-11 19:37:15 +02:00
Alexander Bock
ae6ade497b Merge branch 'feature/render-bins' into feature/rosetta
Conflicts:
	data/scene/earth/earth.mod
	include/openspace/util/updatestructures.h
	modules/base/shaders/ephemeris_fs.glsl
	modules/base/shaders/plane_fs.glsl
2016-08-29 15:53:59 +02:00
Emil Axelsson
bc58623467 add render bins to improve rendering of transparent objects using framebuffer renderer 2016-08-25 18:26:59 +02:00
Erik Broberg
7fc31151ea Clean up: Remove targetBody from Renderable 2016-08-12 16:42:33 -04:00
Alexander Bock
9fb7814145 Add visibility toggle to Property base class
Restructure GuiPropertyComponent to take a source function that returns a list of PropertyOwner%s instead of registering individual properties
Apply restructuring
2016-06-28 14:50:53 +02:00
Kalle Bladin
012bcaefaf Solve merge conflicts. 2016-06-07 12:54:52 -04:00
Alexander Bock
c6dc426211 Merge remote-tracking branch 'origin/feature/galaxy' into develop
Conflicts:
	data/scene/default.scene
	shaders/PowerScaling/powerScalingMath.hglsl
2016-06-04 19:54:34 +02:00
Emil Axelsson
1901166640 improved galaxy rendering 2016-06-03 11:16:57 +02:00
Michael Nilsson
c72536fbbc untabify to make merge easier 2016-04-20 15:21:30 -04:00
Erik Broberg
4073f4e6cb Merged in branch develop to feature/globebrowsing 2016-04-18 20:02:42 -04:00
Alexander Bock
906470f28e Untabify the rest of the source files
Update Ghoul repository
2016-04-18 20:14:29 +02:00
Sebastian Piwell
fa3fc8dc87 Transfer function to dataplan and ColorBar 2016-04-13 11:36:43 -04:00
Karl Bladin
ff74f0794c Merge branch 'develop' of github.com:OpenSpace/OpenSpace-Development into feature/globebrowsing 2016-04-04 12:12:19 -04:00
Erik Broberg
9d45463e93 Created class DistanceSwitch and added length() in double precision to PowerScaledCoordinate 2016-03-30 19:34:42 -04:00
Emil Axelsson
80fe89dbc8 change interfaces from pointer to reference 2016-03-23 14:00:40 +01:00
Emil Axelsson
ebe10a29b5 Volume rendering compatible with abuffer and framebuffer renderers 2016-03-21 16:40:24 +01:00
Alexander Bock
877a4d1ba6 Updated copyright header 2016-02-05 17:43:21 +01:00
Emil Axelsson
d4ff8119d1 refactor abuffer and add msaa support. volumes temporarily disabled. 2016-02-02 11:30:27 +01:00
Alexander Bock
4de4c015d7 Starting to clean out constants.h file by moving constants into the relevant classes 2015-05-20 16:32:28 +02:00
Anton Arbring
97cbf977c5 Added body string to renderable to be able to search for target in scenegraph 2015-04-21 20:31:33 -04:00
Anton Arbring
914b3896ad SPICE error handling, position/rotation estimation etc...
- When loading SPICE kernels, coverage for each body is stored.
- If the body does not have spk coverage a position is estimated.
- Added "pulsating" transparency levels for renderableModels with
  estimated position.
- Spice manager clean up, left a few unused methods but removed a lot of
  dead code.
- To support multiple missins being loaded, some errors are simply
  ignored in spicemanager, for better or worse.
- Added start time and stop time as dictionary keys for renderables.
- Made RenderableTrails only show the time between gaps.
- Added but out commented vesta coordinate system swich in renderengine.

NOTE: Renderables using spiceEphemeris will give errors if body keyword
is omitted in modfile (When checking SPK coverage in position update).
2015-04-09 17:35:30 -04:00
Alexander Bock
a6ebddb8eb Updated copyright header in all files 2015-02-17 14:20:03 +01:00
Alexander Bock
862bfd6947 Making most includes in openspaceengine into forward declarations 2015-02-17 10:36:18 +01:00
Alexander Bock
734ce03d72 Changed the deinitialization of renderable from the destructorto the scenegraphnode 2014-12-15 20:51:00 +01:00
Jonas Strandstedt
da4fa44c03 Continued work on memory leaks and proper isReady usage 2014-12-11 16:48:49 +01:00
Alexander Bock
01e71f2fc0 More work on performance measuring in imgui 2014-12-09 15:49:54 +01:00
Alexander Bock
4de8071efe Force all Renderables to declare an 'isReady' function to circumvent assertion triggers when a crucial element of initialization fails
Fix velocity in RenderableStars
2014-11-28 01:41:26 +01:00
Jonas Strandstedt
46959b4801 Cleanup for KameleonWrapper
- Fixed so size and scale for RenderableVolumeGL can be deduced from model.
2014-11-11 13:43:38 +01:00
Jonas Strandstedt
ea3c5e8d11 More cleanup 2014-10-24 13:34:03 +02:00
Jonas Strandstedt
5427dbdeb2 Merge branch 'develop' of openspace.itn.liu.se:/openspace into develop
Conflicts:
	src/rendering/planets/renderableplanet.cpp
	src/rendering/renderablefieldlines.cpp
	src/rendering/renderablevolumegl.cpp
	src/rendering/stars/renderablestars.cpp
2014-09-26 17:17:18 +02:00
Jonas Strandstedt
2d359fd48c Started working on modularizing PSC and ABuffer 2014-09-26 17:03:59 +02:00
Alexander Bock
7359adf400 Replaced RuntimeData with separate, temporary structs that are passed around 2014-09-26 13:29:01 +02:00
Jonas Strandstedt
8042111ffe Merge branch 'develop' into spicesolarsystem
Conflicts:
	include/openspace/rendering/renderable.h
	include/openspace/rendering/renderablevolumecl.h
	include/openspace/rendering/renderablevolumeexpert.h
	include/openspace/rendering/renderablevolumegl.h
	include/openspace/rendering/renderengine.h
	include/openspace/scenegraph/ephemeris.h
	include/openspace/scenegraph/scenegraph.h
	include/openspace/scenegraph/spiceephemeris.h
	include/openspace/scenegraph/staticephemeris.h
	include/openspace/util/constants.h
	include/openspace/util/time.h
	src/engine/openspaceengine.cpp
	src/interaction/interactionhandler.cpp
	src/rendering/planets/renderableplanet.cpp
	src/rendering/renderablevolumecl.cpp
	src/rendering/renderablevolumeexpert.cpp
	src/rendering/renderablevolumegl.cpp
	src/rendering/renderengine.cpp
	src/rendering/stars/renderablestars.cpp
	src/scenegraph/spiceephemeris.cpp
	src/scenegraph/staticephemeris.cpp
	src/util/factorymanager.cpp
	src/util/spicemanager.cpp
	src/util/time.cpp
2014-09-25 13:54:42 +02:00
michal
700f590a2a SPICE-time dependency, retrieval of spice ephemerides and rotational matrix + coordinate references.
Added functionality:
- New class renderablesphericalgrid is repurposed code from powerscaledsphere class.
  Due to z-buffer issues used as reference grid to confirm planetary orbits are correct.
  This has been a major problem as prior we had no visual reference.
  Now we have a Galactic-, Celestial- and Ecliptic-coordinate grid.
  To this also added separate shader: grid_vs.glsl / grid_fs.glsl
  These grids have a static-rotational matrix derived from partiview (thanks to Brian)
  since spice req. to-from frame to compute rotational matrix.

Time dependency:
- Added struct RuntimeData - which for now only contains openspace time and is passed to all renderables
- All renderables accept runtimeData, keep private reference and use for computation of rotational matrix
- This obviously carries corresponding changes to Scenegraph and ScenegraphNode.

Spicemanager:
- Added function that more easily provides access to rotational matrix used in spice
 (used in renderableplanet for computing planetary objects spin around axis)

Ephemeris-classes:
- Now compute ephemeris from spice based on timeepoch in runtimedata
  TODO: once z-buffer fixed - set ephemeris correctly as meters (not kilometers)

Renderengine:
- Advances time with the advanceTime method in RuntimeData struct

ISSUES:
- Our Y axis NOT same as SPICE or star-catalogue, all renderables rotated now 90deg, needs redefinition,
  lots of debugging and major headaches before this conclusion.
- Depth buffer needs to be fixed in order to properly place planets.
- Spice kernels have finite time-range, when time stops - simulation ends - ugly fix: reset time to zero.
  Possible fix: kernels de431 (part 1-2) cover huge timespan and most likely have functions to extrapolate time,
  drawback is that they are 1,7 gb each.

TODO:
- Compute and draw dynamic ephemeries for each renderable. Either do full year sweep then update for each point or
  create a tail of linesegments for each planet. Dont know yet how to do this, would like spicephemeris to be
  sub-class of Renderable (have own render() method) - good/bad?
2014-09-19 20:32:33 -04:00
Alexander Bock
0fbdbb8dab Fix a bug in TemplateProperty preventing new bool values to be set
Add "isEnabled" flag BoolProperty to all renderables
2014-09-18 08:46:46 +02:00
Hans-Christian Helltegen
4a08f10d66 You can now specify seedpoints in the mod-file for fieldlines 2014-06-05 13:26:10 -04:00
Alexander Bock
3520bd121e Renamed pss to PowerScaledScalar 2014-05-11 18:34:57 +02:00
Alexander Bock
40a2cb1068 Renamed psc to powerscaledcoordinate and pss to powerscaledscalar 2014-05-11 14:32:42 +02:00
Alexander Bock
a86d544812 Created classes for PlanetGeometry
Added SimpleSphereGeometry
Created infrastructure for added other geometries
2014-05-05 17:28:46 +02:00
Alexander Bock
e84c26aeb7 Renamed constants for dictionary keys
Created static creation method for Renderables
2014-05-04 16:18:35 +02:00