Commit Graph

237 Commits

Author SHA1 Message Date
Jonas Strandstedt 31c76f3e3c Added key binding from Lua possible
- Possible to add key bindings from Lua possible. This calls Lua scripts
  from key commands.

 - Temporary fixed a small bug for volume rendering
2014-11-17 17:02:40 +01:00
Jonas Strandstedt 8d2503b68e Added support for pixelData for ABuffer
- ABufferFixed should work but it doesn't. But the interface works at
  least.
- ABufferFixed works for normal rendering
- Removed position for ABuffer, it should make rendering much faster.

Todo:
- Figure out why the fetching of pixelData for ABufferFixed gives wrong
  result.
2014-11-13 15:41:10 +01:00
michal d6d7f1ffe7 intermediate commit. 2014-11-12 12:28:16 -05:00
Jonas Strandstedt ba7a4a4a47 Added ABuffer visualizer
- First draft of the ABuffer visualizer renders a cube with all fragments
  from the single linked abuffer. Lua command to turn on is
  openspace.visualizeABuffer(true)
- Fixed LuaConsole to stop receiving input command after inputing command
- Fixed LuaConsole not to add command to history if it is identical to the
  most recent command.

 TODO:
 - Add support for dynamic and fixed abuffer
 - Scale the cube to match the window ratio
2014-11-12 16:54:40 +01:00
michal 0803b1cacf Minor changes for targeting. 2014-11-10 13:00:04 -05:00
Jonas Strandstedt 7e1396a8ae Added separete ProgressBar class 2014-11-07 14:48:03 +01:00
michal 2426d62677 Added target-switch method based on object visibility, will need refinement. 2014-11-05 19:26:11 -05:00
michal 3e934b4f8a Working Field of View Rendering.
TODO:
Optimization and stuff.
2014-11-04 18:12:52 -05:00
Jonas Strandstedt 1b6ad0f8d7 Faster more dynamic shader loading 2014-11-04 18:17:15 +01:00
michal 79b75aa572 field of view rendering. Intermediate commit.
Working on trying to get the fov-on-surface square to render.
2014-11-01 18:41:09 -04:00
Jonas Strandstedt a96e32badb Working OS X version 2014-10-31 15:37:03 +01:00
Jonas Strandstedt 83bebbd60f First OS X ABuffer implementation
- Not working.
2014-10-30 17:10:00 +01:00
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
Jonas Strandstedt 4bb9d8c800 Merge branch 'solarsystem2' into cleanup
Conflicts:
	src/util/factorymanager.cpp
2014-10-27 19:03:36 +01:00
Jonas Strandstedt 5daa77f7b2 Fixed Release build for windows
- Release build is booting but something goes wrong with spice
2014-10-27 15:22:14 +01: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