Commit Graph

79 Commits

Author SHA1 Message Date
michal
50b4c1ec36 fixed renderabletrail class to suit for all different delta times, tropical orbits etc etc. lot of stuff to do with precision and set time intervals (pain in the ass). works clockwork.
changes to modules etc. will do more fixes soon. Incoming.
2014-10-20 16:00:38 -04:00
michal
099bcc2c9b changing renderabletrail class to work for planetocentric 2014-10-16 16:13:54 -04:00
Alexander Bock
0e46642624 Merge branch 'develop' into solarsystem2
Conflicts:
	src/util/factorymanager.cpp
2014-10-11 10:54:52 +02:00
michal
3bb9912356 latest changes involve adding an unfinished class called "renderable fov"- ignore that one.
The rest is pretty straight forward, renderable trail is the ephemeris class and wavefrontobject is a very crudely constructed reader... ill fix that on monday
2014-10-11 01:43:31 -04:00
Jonas Strandstedt
9adc1e69fa Added RenderablePlane
- Only first version of the RenderablePlane

Todo:
- Support rotation of planes
- Support billboarding
- Support different local origin (LowerLeft, LowerRight, Center...)
2014-10-10 15:18:16 +02:00
michal
1ed4b74d3e added renderablepath and made changes to renderabletrail 2014-10-08 16:15:37 -04:00
michal
36925cbde7 Finished ephemeries for all 8 planets and fixed so that renderablewavefront object.
NOTE: Basically, added a whole bunch of mod files, I agre - its ugly but later we need to decide ownership of this class.

Ephemeries goes temporarily under the name "RenderableTrail"
It displays a fading ephemeries with nodes of equal time (planetary days for now, will make changable)
For each modfile one specifies all the usual spice stuff with the addition of:
 - Planets tropical orbit
 - Planet/Earth orbit ratio
 - Planets day length in earth hours
Pulled from NASAs webpage so its reliant data, got the link from Brian.
2014-10-07 23:06:21 -04:00
michal
21745b91a5 new class - renderabletrail - will later be renamed and current replace renderableephemeris.
Right now just adding a bunch of mod files, i know this is rather ugly but i just need it to work for friday.
2014-10-07 18:44:14 -04:00
Alexander Bock
67f0fb3c08 Merge branch 'develop' into solarsystem2
Conflicts:
	.gitignore
	include/openspace/util/spicemanager.h
	shaders/star_fs.glsl
	src/engine/openspaceengine.cpp
	src/rendering/renderengine.cpp
	src/rendering/stars/renderablestars.cpp
	src/scenegraph/scenegraph.cpp
	src/scenegraph/scenegraphnode.cpp
2014-10-06 22:22:30 +02:00
michal
acc8056455 added some new classes for ephemeris rendering.. 2014-10-06 15:30:13 -04:00
Alexander Bock
b7da50b3dd Added Lua method to print a screenshot 2014-10-05 17:31:47 +02:00
michal
9eaf25f38c still working on obj loader, trying to maintain regular pushes to git. 2014-10-03 22:35:17 -04:00
michal
d2c13eb104 adding objloader 2014-10-03 18:57:01 -04:00
michal
59161e186c Renderableehpemeris still as it is, will be repurposed though.
Renderable trail now acts like planet ephemeris, not yet finished. Need to work on objectloader
2014-10-03 18:56:16 -04:00
Jonas Strandstedt
3cad506b5b PowerScaling modifications
- Started working on PowerScaling with some initial changes
- Faking the stars by blending with the abuffer
- Changed texture filtering for planets, looks better in my opinion
2014-10-03 17:02:31 +02:00
michal
938c442dd6 got renderable ephemeris working for larger deltas, problems with leap years though 2014-10-02 11:00:43 -04: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
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
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
michal
7bd44efc8e code optimization, cleanup. 2014-08-30 21:33:30 -04:00
michal
7e078352d0 Fixes to shader pipeline.
- Added second shader for points only
- VBO interleaved array passed to both shaders
- passthrough in geom. shader works
- reading of additional scalar data from speck files.

TODO: calibrate scale and apparent brightnesses
2014-08-30 16:40:44 -04: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
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
da37528619 Merge branch 'feature/fieldlines' into feature/ABuffer
Conflicts:
	src/rendering/renderablevolumegl.cpp
2014-07-18 13:51:07 -04:00
Jonas Strandstedt
576710f1ef Added fixed ABuffer implementation 2014-07-08 13:29:15 -04:00
Hans-Christian Helltegen
aff61620c8 Added functionality for getting the model barycenter in kameleonwrapper and moving the raycasting box by an offset. Also cleaned up renderablevolumegl a bit 2014-07-07 14:26:22 -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
71ea2e0564 Merged with feature/ABuffer 2014-06-27 15:49:49 -04:00
Hans-Christian Helltegen
24d38d0296 Implemented tracing for Lorentz force trajectories 2014-06-27 15:18:34 -04:00
Jonas Strandstedt
d378428dc4 Crude PowerScale implementations
- Added PowerScaling to RenderableVolumeGL and RenderableFieldlines
- Removed the use of volumeraycasterbox since it used FBO and textures
which was not used anymore.
- Added a simple box implementation to RenderableVolumeGL that can have
PowerScaled vertex positions

TODO: The #include command needs to be extended in some way since the
FieldLines passthrough shader can't access the PowerScaled includes in a
good way.
2014-06-26 15:25:49 -04:00
Jonas Strandstedt
ec115030a4 Added ID for sampler 2014-06-24 15:29:31 -04:00
Jonas Strandstedt
633c95a44b Started work on Samplers having IDs 2014-06-24 14:45:08 -04:00
Jonas Strandstedt
fe701ddc5a ABuffer uses sampler files
- RenderableVolumeGL provides a filepath to sampler
- ABuffer reloads all sampler files for each recompilation
- ABuffer has mostly private members
2014-06-24 11:31:06 -04:00
Jonas Strandstedt
3fe447274f Added intermediate ABuffer class to handle shader
- Refactored a lot of stuff
2014-06-23 16:59:19 -04:00
Jonas Strandstedt
d81ef36d4f Merge branch 'feature/fieldlines' into feature/ABuffer
Conflicts:
	src/rendering/renderablefieldlines.cpp
	src/rendering/renderablevolume.cpp
2014-06-18 11:11:39 -04:00
Jonas Strandstedt
6419f34b5a ABuffer working with small issues
- Pointing to bugfixed Ghoul
- Pointing to Ghoul with Linux file callback
- Fixed interaction distance control bug when moving to close
- Distance control with mouse wheel added
- Kameleonwrapper normalization based on histogram
- ABuffer seems to work with small issues
2014-06-18 10:34:40 -04:00
Hans-Christian Helltegen
56c5c259fb Added support for multiple fieldlines in a single module. Stepsize is now adaptive based on the local grid size in the model 2014-06-16 11:39:10 -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
Jonas Strandstedt
d5e6063670 Bugfixes
- Added support for volume caching
- Fixed bug when moving camera in the direction or the origin causing
position lock
- Fixed camera being to only being affected on SGCT_PRESS and
SGCT_REPEAT
2014-06-10 11:40:49 -04:00
Jonas Strandstedt
3fcb851b0f Merge branch 'feature/fieldlines' into feature/ABuffer
Conflicts:
	src/rendering/renderablevolumegl.cpp
2014-06-05 15:10:29 -04:00
Hans-Christian Helltegen
4a08f10d66 You can now specify seedpoints in the mod-file for fieldlines 2014-06-05 13:26:10 -04:00
Jonas Strandstedt
f4dad8dc1c Intermediate ABuffer
- Raycasting works
- TODO: Mix raycasting with fragment list
- TODO: Fix PowerScaling
2014-06-05 13:18:22 -04:00