Commit Graph

73 Commits

Author SHA1 Message Date
michal
e31a0b70ab RenderableFov class.
Intersections with planet and instrument FOV boundary vectors / boresight seem to be correct with a margin of error. This could be either due to
precision issues experienced at greater distances, light-time or stellar aberration correction methods, planetary radius etc etc.
2014-10-27 21:35:59 -04:00
michal
08a97d9e68 Merge branch 'develop' into solarsystem2
Conflicts:
	scripts/default_startup.lua
	src/rendering/renderablewavefrontobject.cpp
2014-10-23 11:45:24 -04:00
michal
2dab6e41d5 begin merge with develop 2014-10-23 11:37:22 -04:00
michal
64ee84ede1 Fixed model oriantation
After 32 maya exports and about 600 different attempts of different rotations / scalings along each axis
I realised that the model is in fact correctly aligned and that what we are seing are precisional errors with the
stupid boresight-polygon-baton.

Nevertheless, out of all of those Im keeping some of the more cruicial test-objects (8 to be precise) for future reference,
these can be deleted at some point, I just really want to keep them for now, comfort blanket.
2014-10-21 12:49:39 -04:00
Jonas Strandstedt
db141e8e86 Merge branch 'develop' into bug/abuffershadersupdater
Conflicts:
	ext/ghoul
	openspace.cfg
	src/abuffer/abuffer.cpp
	src/engine/openspaceengine.cpp
	src/rendering/renderengine.cpp
2014-10-21 14:54:48 +02:00
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
Jonas Strandstedt
7ef5295bb7 Added ABuffer reinitialization
- Fixed so ABuffer reinitializes properly (could probably be optimized by
  not resizing of smaller than before)
- Now setting size properly from window dimensions
- SGCT side-by-side stereo working
2014-10-17 14:50:40 +02:00
michal
97df29706c small changes, return solarsystem to original state 2014-10-15 18:42:14 -04:00
Alexander Bock
0e46642624 Merge branch 'develop' into solarsystem2
Conflicts:
	src/util/factorymanager.cpp
2014-10-11 10:54:52 +02: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
Jonas Strandstedt
9a1b59a73e Intermediate commit 2014-10-10 11:29:16 +02:00
Jonas Strandstedt
e89bfb5161 Fixed Ephimeris rendering to use PSC correctly 2014-10-08 15:54:09 +02:00
Jonas Strandstedt
48614f582a Fixed blending for stars default framebuffer rendering 2014-10-08 13:43:43 +02: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
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
e4a8e87098 Using new ghoul ProgramObject functionality
- Fixed risk of memory leak in SceneGraph (deleting shaders)
2014-10-01 15:30:39 +02:00
Jonas Strandstedt
cc3f9ef34b Fixed ABuffer to update shader when Scengraph is updated 2014-09-29 13:03:58 +02:00
michal
22fd3acc59 small changes to to get everything working on my end / michal 2014-09-26 17:42:07 -04:00
Jonas Strandstedt
2d359fd48c Started working on modularizing PSC and ABuffer 2014-09-26 17:03:59 +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
ce10dea96e Fixed compile errors, probably finished merge 2014-09-13 11:45:49 +02:00
michal
c1c637efa7 minor fixes, please ref to previous commit 2014-09-10 14:35:44 -04:00
michal
686c7b0b9b final calibration + scaling fix. Looks good now. 2014-09-10 11:32:23 -04:00
michal
f0f3b08ab6 some cleanup 2014-09-07 16:19:13 -04:00
michal
da9938584e Changes to the shaders, code cleanup and simplification. Eliminated lots of minor trivial bugs, should run smoothly.
- added shader-side B-V (blue-visible band) index conversion to standard RGB 0-255
- distance-modulus is computed correctly (to the 9th decimal) from one of the interleaved parameters of the vbo
- the apparent magnitudes are in relation to the cameras position in space. (needs a proper overlook / calibration)
- sprite quads are scaled with the apparent magnitude in heuristic fashion (ogl coordinates have really no real relation to empirical data)

TODO:
- Look over the quad scaling which right now is scaled using the z-distance and apparent magnitude, wont work properly if we move outside of the solar system
- Determine if scale of universe is proper
- When zooming out the camera stops at #INF and gets stuck ( had no time to look into this )
- Very red stars need dimming, probably a threshold operation
2014-09-05 16:16:55 -04:00
michal
d15ae9d578 some code cleanup. loading of test-target speckfile. 2014-08-30 20:29:14 -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
fa7b3748a9 small changes to the frag shader 2014-08-27 10:37:41 -04:00
michal
30d47896c8 detached head should be fixed 2014-08-27 10:34:47 -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
Jonas Strandstedt
258e62caa2 Cleaned up before beginning ABuffer dynamic impl.
- Added support for more keys in RenderableToggle
- Switched to Fixed ABuffer (needs to be fixed)
- Removed commented code
2014-07-24 16:12:37 -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
e8ac32b830 Updated ghoul, initial volumes with different stepsize 2014-07-18 12:17:45 -04:00
Jonas Strandstedt
bd38dd124e ABuffer bugfix, now supporting multiple (3+) volumes 2014-07-14 11:58:12 -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
Jonas Strandstedt
576710f1ef Added fixed ABuffer implementation 2014-07-08 13:29:15 -04:00
Jonas Strandstedt
610d5d5427 Added variable stepsize for volumes
- When holding right mouse button the stepsize for volumes will be 1/5
- Added configuration files for ccmc lab
2014-07-01 10:01:54 -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
adec1fc215 Moved powescaling shader funcitonality
- Added separete files for the power scaling algorithms
- Added shader tracking and updating for the new files
2014-06-25 16:44:07 -04:00
Jonas Strandstedt
b6b6a7f51b Small jitterbug fix 2014-06-25 15:27:22 -04:00
Jonas Strandstedt
83205d6de1 Volume raycasting jittering
- Added jitter to volume rendering, reducing artefacts
- Added tracking of more shader files to update the resolve shader
2014-06-25 15:10:05 -04:00
Jonas Strandstedt
437f511f48 Cleaned up fragment shader in power scaling
- Added Licence to shaders
2014-06-25 10:21:06 -04:00
Jonas Strandstedt
ec115030a4 Added ID for sampler 2014-06-24 15:29:31 -04:00