Commit Graph

116 Commits

Author SHA1 Message Date
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
Hans-Christian Helltegen 3373ffd10d Added renderablefieldlines class which renders fieldlines as geometry 2014-06-05 10:12:42 -04:00
Jonas Strandstedt 08a8e2f3bb Intermediate ABuffer commit 2014-06-03 16:50:47 -04:00
Hans-Christian Helltegen 67778209d2 Fieldline work. Fixed VolumeRenderableGL 2014-06-02 14:22:45 -04:00
Jonas Strandstedt 4379d27cbc Single Linked ABuffer implementation 2014-05-29 12:25:04 -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 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 636f5327aa Code cleanup regarding scenegraphnodes 2014-05-05 12:15:20 +02:00
Alexander Bock 56f22d79c3 Some work towards multi-pipe 2014-05-04 18:35:23 +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