Commit Graph

64 Commits

Author SHA1 Message Date
michal
938c442dd6 got renderable ephemeris working for larger deltas, problems with leap years though 2014-10-02 11:00:43 -04:00
Alexander Bock
bedc894064 Removing Jenkins warnings 2014-09-26 17:53:18 +02:00
Alexander Bock
7359adf400 Replaced RuntimeData with separate, temporary structs that are passed around 2014-09-26 13:29:01 +02:00
Alexander Bock
dbd13b3310 Replace hard-coded constant with constant definition 2014-09-26 01:00:15 +02:00
Alexander Bock
e6576e88d6 Retrieve modules path from scene file instead openspace.cfg 2014-09-25 23:40:33 +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
Jonas Strandstedt
82ff7fa984 Merge branch 'develop' into stars
Conflicts:
	include/openspace/util/constants.h
	shaders/pscstandard_fs.glsl
	shaders/pscstandard_vs.glsl
	src/interaction/interactionhandler.cpp
	src/main.cpp
	src/rendering/renderengine.cpp
	src/scenegraph/scenegraph.cpp
	src/scenegraph/scenegraphnode.cpp
	src/util/factorymanager.cpp
2014-09-24 15:39:22 +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
dd629db53d More code cleanup, force inclusion of swizzling for GLM 2014-09-19 17:44:33 +02:00
Alexander Bock
3d62caae46 Added missing documentation 2014-09-14 17:40:19 +02:00
Alexander Bock
f0dfd0fa04 Added documentation for Time class 2014-09-14 17:36:10 +02:00
Alexander Bock
9b2a04a8c4 More work on Time class
Fixed bool -> int conversion in SpiceManager
2014-09-14 15:51:46 +02:00
Alexander Bock
3afa0ecaa1 Added support for scripting 2014-09-13 18:25:14 +02:00
Alexander Bock
b6246f6538 Renamed methods in SpiceManager
Started change of Time class
2014-09-13 18:02:39 +02:00
Alexander Bock
954dbdce13 Merge branch 'origin/feature/ABuffer' into properties 2014-09-13 10:59:33 +02:00
Alexander Bock
79174d5b6c Cleaned up scripts directory
Made scripts runnable at startup
Added printing functions and remapped default Lua printing
2014-08-29 13:04:20 +02:00
michal
b1851e5313 Added geometry shader for halos and separate shader for points. Parsecs->m conversion works and added test-data to datafolder. 2014-08-28 23:04:27 -04:00
michal
8f3bcdeb54 WIP3: problems with texture coordinates, needs fix. 2014-08-26 19:26:09 -04:00
michal
013d4c5bb6 WIP: intermediary commit, will attempt to run HC's code on this machine. 2014-08-25 17:37:23 -04:00
michal
d75171c69b Added new class renderablestars.cpp for rendering starfields.
As for now only reads and stores *.speck file data.

TODO:
1. write cache mechaninsm (load avg ~15 sec)
2. fix render function.
3. add textures.
2014-08-20 11:29:31 -04:00
Alexander Bock
26a7fbe47e Code cleanup of Ephemeris classes and SceneGraph 2014-08-20 16:55:07 +02:00
Alexander Bock
61f2f51cb0 Compile fixes of SpiceManager for Mac 2014-08-19 12:14:34 +02:00
Michal Marcinkowski
aba319cbba Added SPICE C++ wrapper library with google tests and kernels
At this moment only the (by NAIF considered) most cruicial
c_spice API's have been covered, such as getting state vectors
from one reference frame to another, simple time conversions,
load/unload of single and multiple kernels etc. All of which as
described in:

http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/info/mostused.html

Also added linker flag to except the LIBCMTD.lib as it caused conflicts
on Windows.
2014-08-04 20:43:23 +02:00
Michal Marcinkowski
69fc0e19e2 Added SpiceManager and enabled $(BASE_PATH) setting from calibration file 2014-07-28 14:36:25 +02:00
Jonas Strandstedt
ecf3a8539a Added missing file 2014-07-18 14:00:09 -04:00
Jonas Strandstedt
da37528619 Merge branch 'feature/fieldlines' into feature/ABuffer
Conflicts:
	src/rendering/renderablevolumegl.cpp
2014-07-18 13:51:07 -04:00
Jonas Strandstedt
114af3fb5b Added an OpenSpace ShaderCreator
- Global shader settings can now be added.
- ShaderCreator builds the shader and stores a generated shader file
with all included source.
- Small TransferFunction bugfix
2014-07-10 15:22:57 -04:00
Hans-Christian Helltegen
1996acf997 Fieldline and seedpoint color now in RGBA instead of RGB 2014-07-03 14:42:43 -04:00
Hans-Christian Helltegen
24d38d0296 Implemented tracing for Lorentz force trajectories 2014-06-27 15:18:34 -04:00
Hans-Christian Helltegen
6f40de5f37 Added classification of fieldlines (closed, open from north, open from south, solar wind) and coloring after classification 2014-06-10 16:59:47 -04:00
Hans-Christian Helltegen
08f2498e8a Fieldlines are now created with seedpoints from mod-file. Stepsize can be specified in mod-file aswell 2014-06-06 12:18:45 -04:00
Hans-Christian Helltegen
3373ffd10d Added renderablefieldlines class which renders fieldlines as geometry 2014-06-05 10:12:42 -04:00
Hans-Christian Helltegen
281104805c Is now a bi-directional fieldline tracer using Runge-Kutta 4th order instead of a forward-only tracer using Euler 2014-05-29 16:04:27 -04:00
Hans-Christian Helltegen
48f1b6aa5c Added basic fieldline implementation in kameleonwrapper 2014-05-23 16:20:11 -04:00
Hans-Christian Helltegen
29b4cffd78 Code cleaup 2014-05-21 16:24:47 -04:00
Hans-Christian Helltegen
2dab48b850 Updated kameleonwrapper to be able to load several variables into a RGB texture. Added support for 'Variables' tag in .mod scenegraph files which takes 3 variables as an array 2014-05-21 15:11:13 -04:00
Alexander Bock
2bfbdbb905 Added copy constructor to PowercaledCoordinate class 2014-05-13 22:05:34 +02:00
Alexander Bock
3520bd121e Renamed pss to PowerScaledScalar 2014-05-11 18:34:57 +02:00
Alexander Bock
37e5e63b70 Updated ghoul version; some code cleanup 2014-05-11 18:22:20 +02:00
Alexander Bock
9bc084bf81 More PowerscaledCoordinate cleanup 2014-05-11 15:59:48 +02:00
Alexander Bock
89142340d0 PowerscaledCoordinate cleanup 2014-05-11 15:01:55 +02:00
Alexander Bock
40a2cb1068 Renamed psc to powerscaledcoordinate and pss to powerscaledscalar 2014-05-11 14:32:42 +02:00
Alexander Bock
9bcb848e60 Updated ghoul version; more code cleanup 2014-05-10 15:17:10 +02:00
Alexander Bock
6cfdd130bc Code cleanup of PowerScaledSphere 2014-05-06 18:19:53 +02:00
Alexander Bock
d09a1e0b54 Misc work
More cleanup of RenderablePlanet
Added const modifier to pss method
Added faster travel method for interactionhandler
2014-05-05 18:04:53 +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
5e758b16d1 Misc work
Added ext/kameleon to .gitignore
moved renderableplanet to a subfolder
2014-05-05 12:41:41 +02:00
Alexander Bock
5769919ea6 Work on FactoryManager
Renamed factoryByType to factory
Store generic factories inside of FactoryManager
2014-05-05 12:37:18 +02:00
Alexander Bock
283a55f4de Included commented out version of new camera class
adapted RenderableVolume to use ModulePath
2014-05-05 00:04:00 +02:00
Alexander Bock
56f22d79c3 Some work towards multi-pipe 2014-05-04 18:35:23 +02:00