Commit Graph

50 Commits

Author SHA1 Message Date
Alexander Bock a21c9538b6 Untabify more files 2016-04-18 15:15:30 +02:00
Emil Axelsson ebe10a29b5 Volume rendering compatible with abuffer and framebuffer renderers 2016-03-21 16:40:24 +01:00
Alexander Bock 877a4d1ba6 Updated copyright header 2016-02-05 17:43:21 +01:00
Emil Axelsson a6a9537b6c Merge with antialiased abuffer 2016-02-03 17:47:29 +01:00
Emil Axelsson d4ff8119d1 refactor abuffer and add msaa support. volumes temporarily disabled. 2016-02-02 11:30:27 +01:00
Alexander Bock c92fc923f9 Remove constants.h file
Reenable LuaConsole rendering
2015-12-14 17:21:22 -08:00
Alexander Bock 293faf8ca9 Adopted cleaned up fontrendering code 2015-11-23 20:18:38 -05:00
Alexander Bock 4f7ab5321f Cleanup RenderEngine to completely rely on Ghoul font rendering 2015-11-17 17:31:43 -05:00
Alexander Bock 2cf7dfb27d Changed RenderEngine to use Ghoul fontrendering instead of SGCT 2015-11-16 19:21:05 -05:00
Alexander Bock bbb622f555 Initial work on integrating fontrendering into ghoul 2015-11-02 21:40:45 -05:00
Alexander Bock 062817b7fb More work moving code to window wrapper
Removing capability to show SGCT rendering information
2015-10-26 11:20:48 -05:00
Alexander Bock 7401b7d48b Enable FrameBuffer-based rendering on Windows 2015-06-18 15:42:41 +02:00
Alexander Bock 37a54ab22b Move specification of RenderingMethod into renderengine 2015-05-28 20:44:12 +02:00
Alexander Bock abdd1af2a9 Cleaning up abuffer classes
Make ABuffer type selectable in openspace.cfg
2015-05-19 00:47:47 +02:00
Alexander Bock b5aa86873a Fix many warnings 2015-05-12 13:05:35 +02:00
Alexander Bock e7767bff11 More work on SceneGraph
First working and sorted version
2015-04-13 16:07:27 +02:00
Alexander Bock 79f3052887 More work on SceneGraphLoader
Renamed SceneGraph to Scene
Added new class SceneGraph to handle scenegraph related tasks
2015-04-09 21:43:13 +02:00
Alexander Bock 61d185e337 Fixing on-screen gui for multiple nodes 2015-02-27 14:07:11 +01:00
Alexander Bock 862c8ffd96 Renamed globalOpacity to globalblackout
Start application in blackout and fade in after scenegraph has been loaded
2015-02-25 09:37:55 +01:00
Alexander Bock df71f97943 Added configuration switch "DisableRenderingOnMaster" to disable rendering on the master node 2015-02-24 13:41:42 +01:00
Alexander Bock c62a766b2f Adding Lua function to toggle the SGCT render information overlay 2015-02-24 10:45:26 +01:00
Joakim Kilby ea2017e11c Introduced fadeIn and fadeOut functionality via scripting. 2015-02-20 16:54:30 +01:00
Joakim Kilby 468bb98e46 created postFX functions in main and added a postFX pass to sgct engine to allow for a global fade after executing certain scripts.
added global opacity member variable with set/get methods in render engine.
added two VERY simple shaders used in the post FX pass. Note these are not handled in openspace so updating files does not update shader
2015-02-20 11:19:50 +01:00
Alexander Bock 5eb5a9a479 Enable the possibility to switch between coordinate systems (with the Sun in the center vs Pluto in the center) 2015-02-19 19:13:55 +01:00
Joakim Kilby dce4835bab changing render function of openspaceengine and renderengine to take glm::mat4 matrices for Projection / ViewMatrix. 2015-02-19 15:19:20 +01:00
Alexander Bock a6ebddb8eb Updated copyright header in all files 2015-02-17 14:20:03 +01:00
Joakim Kilby f43cc08dfb added presync function for engine 2015-02-10 11:34:33 +01:00
Alexander Bock e70b663dc3 Add log.html to the list of ignored files
Enable capability to disable on-screen info text
2014-12-11 18:09:19 +01:00
Alexander Bock 01e71f2fc0 More work on performance measuring in imgui 2014-12-09 15:49:54 +01:00
Alexander Bock 90eac194dc Initial work on performance measuring 2014-12-09 01:41:42 +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
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
Jonas Strandstedt f85e18dc18 OS X now doesn't crash for volumes
- Fixed a few warnings
2014-11-05 17:11:27 +01:00
Jonas Strandstedt ea3c5e8d11 More cleanup 2014-10-24 13:34:03 +02:00
Jonas Strandstedt a7da4d84cc Added SyncBuffer class
- Added SyncBuffer class for easy and effecient synchronization
- Small changes to Camera class
- Forward declared a few classes to minimize dependencies
2014-10-22 16:37:54 +02: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
Jonas Strandstedt 18a87ef99e Added ScreenLog
- Added first version of a ScreenLog mechanism
- Moved the info box to the upper left corner
- Added Ubuntu fonts
- Made RenderEngine a PropertyOwner with _showInfo and _showScreenLog as
  bool properties that can be edited through Lua.
2014-10-17 12:20:23 +02:00
Jonas Strandstedt 9a1b59a73e Intermediate commit 2014-10-10 11:29:16 +02:00
Alexander Bock b7da50b3dd Added Lua method to print a screenshot 2014-10-05 17:31:47 +02: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
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
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
Jonas Strandstedt 633c95a44b Started work on Samplers having IDs 2014-06-24 14:45:08 -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 4379d27cbc Single Linked ABuffer implementation 2014-05-29 12:25:04 -04: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 2bf71ad9b6 More cleanup 2014-05-04 14:16:53 +02:00
Jonas Strandstedt 89eeae62d0 Restructuring for OpenSpace tests
- Moved all OpenSpace headers to separate include directory
- Added OpenSpaceTests binary with OPENSPACE_HAVE_TESTS define
- Added CMake setting of BASE_DIR
- Added OpenSpace initial tests for SceneGraph and SceneGraphNodes
- Added OpenSpace initial tests for psc and pss
- Restructured OpenSpace so no GL functions are called in constructors
to make the classes testable

- Todo: Make the base dir possible to set through command line argument
and configuration file
2014-03-19 14:57:10 -04:00