Commit Graph

42 Commits

Author SHA1 Message Date
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