Commit Graph

22 Commits

Author SHA1 Message Date
Alexander Bock
5eb5a9a479 Enable the possibility to switch between coordinate systems (with the Sun in the center vs Pluto in the center) 2015-02-19 19:13:55 +01:00
Alexander Bock
a6ebddb8eb Updated copyright header in all files 2015-02-17 14:20:03 +01:00
Joakim Kilby
2b83c19baa commit to be able to merge 2015-02-12 14:58:40 +01:00
Alexander Bock
5a7a518bad Remove cppcheck warnings 2014-12-16 21:54:53 +01:00
Alexander Bock
82c42cb97a General code cleanup 2014-12-09 18:36:23 +01:00
Alexander Bock
90eac194dc Initial work on performance measuring 2014-12-09 01:41:42 +01: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
bd850d56f5 Remove renderableToggle as it has been replaced with a property 2014-09-18 20:39:30 +02:00
Alexander Bock
954dbdce13 Merge branch 'origin/feature/ABuffer' into properties 2014-09-13 10:59:33 +02:00
Alexander Bock
9671921331 More work towards a unified interface for accessing properties 2014-08-30 10:01:11 +02:00
Alexander Bock
5793498ddf Added first version of ScriptEngine, allowing Lua script to set propety values 2014-08-21 18:44:42 +02:00
Alexander Bock
26a7fbe47e Code cleanup of Ephemeris classes and SceneGraph 2014-08-20 16:55:07 +02:00
Jonas Strandstedt
e99a98224c Working ABuffer
- Fixed the ABuffer rendering for intersecting volumes
- Added keyboard callback for toggling renderables
- Changed textures from ClampToBorder to ClampToEdge
- Fixed transferfunctions to clamp to edge instead of fade to black
2014-07-23 16:06:49 -04:00
Jonas Strandstedt
08a8e2f3bb Intermediate ABuffer commit 2014-06-03 16:50:47 -04:00
Alexander Bock
3520bd121e Renamed pss to PowerScaledScalar 2014-05-11 18:34:57 +02:00
Alexander Bock
7f7e25fd8b More work on ephemerides 2014-05-04 16:50:20 +02:00
Alexander Bock
794a88060f Rename "PositionInformation" to "Ephemeris" 2014-05-04 16:31:36 +02:00
Alexander Bock
e84c26aeb7 Renamed constants for dictionary keys
Created static creation method for Renderables
2014-05-04 16:18:35 +02:00
Alexander Bock
982ec8b87c Restructured SceneGraphNode code 2014-05-04 15:28:07 +02:00
Jonas Strandstedt
89eeae62d0 Restructuring for OpenSpace tests
- Moved all OpenSpace headers to separate include directory
- Added OpenSpaceTests binary with OPENSPACE_HAVE_TESTS define
- Added CMake setting of BASE_DIR
- Added OpenSpace initial tests for SceneGraph and SceneGraphNodes
- Added OpenSpace initial tests for psc and pss
- Restructured OpenSpace so no GL functions are called in constructors
to make the classes testable

- Todo: Make the base dir possible to set through command line argument
and configuration file
2014-03-19 14:57:10 -04:00