1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 00:49:54 +00:00
Commit graph

772 commits

Author SHA1 Message Date
Miloslav Číž
fc507c66f7 remove no longer needed stuff 2017-11-16 22:17:00 +01:00
Miloslav Číž
3ae5310567 use loading screen to freeze the screen 2017-11-16 22:08:33 +01:00
Miloslav Číž
2b5f147545 allow non-power-of-2 sized cubemaps 2017-11-16 20:06:34 +01:00
Miloslav Číž
bccff768ff select closest power of 2 resolution for the cubemap 2017-11-16 13:41:09 +01:00
Miloslav Číž
56c74fb96f add scene switch node 2017-11-16 12:46:46 +01:00
Miloslav Číž
1a4f351e3d move camera freeze code 2017-11-16 12:17:52 +01:00
Miloslav Číž
af38d3a47d get rid of sphericalscreenshot class 2017-11-15 17:01:16 +01:00
Miloslav Číž
226fb9c26b render cubemaps in OGL coordinates 2017-11-15 16:07:01 +01:00
Miloslav Číž
1c3d45f641 dirty 360 screenshot GPU setup 2017-11-15 15:20:59 +01:00
Miloslav Číž
823218bb61 freeze screen during screenshot taking 2017-11-14 18:23:12 +01:00
Miloslav Číž
511a5686da planet mapping adjustment 2017-11-11 15:10:54 +01:00
Miloslav Číž
4fc532d873 reference screenshot settings only from one place 2017-11-11 14:32:28 +01:00
Miloslav Číž
525f8b4d8e get rid of special key for 360 screenshot 2017-11-11 13:51:42 +01:00
Miloslav Číž
1f49612ca3 enable water effects for 360 screenshots 2017-11-10 19:18:16 +01:00
Miloslav Číž
319ed2f9b8 disable 360 screenshots in vanity/preview mode 2017-11-10 15:23:44 +01:00
Miloslav Číž
497b33e403 small corrections 2017-11-10 14:28:09 +01:00
Miloslav Číž
9ab3a0c44b set cubemap width differently 2017-11-10 11:16:25 +01:00
Miloslav Číž
5baff05bac add cubemap mapping 2017-11-10 10:50:28 +01:00
Miloslav Číž
5a07d135ae add settings for cubemap size 2017-11-10 10:34:46 +01:00
Miloslav Číž
1b184d8716 correct player mask 2017-11-09 23:09:13 +01:00
Miloslav Číž
e54c0a90fa fix mirrored spherical screenshots 2017-11-09 21:14:02 +01:00
Miloslav Číž
d763e9fe46 add settings for spherical screenshots 2017-11-09 20:25:29 +01:00
Miloslav Číž
8f32114025 segfault fix 2017-11-09 18:26:27 +01:00
Miloslav Číž
d4fd08a63f save 360 screenshots in the configured directory 2017-11-09 16:49:46 +01:00
Miloslav Číž
f60840754f disable water effects for spherical screenshots 2017-11-09 14:44:42 +01:00
Miloslav Číž
5698d70806 small planet mapping 2017-11-08 12:58:27 +01:00
Miloslav Číž
5f36518181 spherical mapping 2017-11-08 09:15:45 +01:00
AnyOldName3
e201e359a9 Move Shadow to Components 2017-11-08 01:44:49 +00:00
Miloslav Číž
4761a3d98b dirty cylindrical projection 2017-11-07 22:13:05 +01:00
Miloslav Číž
3be9e2ee95 make spherical screenshot class 2017-11-07 19:47:36 +01:00
AnyOldName3
09b02c307a Merge from base branch 2017-11-07 16:34:51 +00:00
Miloslav Číž
5afe02505b hide player in first person 360 screenshot 2017-11-07 16:12:31 +01:00
Miloslav Číž
ce55d7c2f5 basic cubemap rendering 2017-11-07 15:02:01 +01:00
Miloslav Číž
7feba7e498 basic setup for 360 screenshots 2017-11-07 13:07:11 +01:00
AnyOldName3
56fa33af66 Enable parallel split shadow maps 2017-11-07 00:32:04 +00:00
AnyOldName3
7a03ad6558 Switch to a tidier way of disabling the correct texture unit 2017-11-05 14:46:03 +00:00
AnyOldName3
3f63ebce77 Theoretically, at least, fix everything (except hte sky issue which is resolved in another branch) 2017-11-05 14:37:36 +00:00
scrawl
ceaf0ee409 Enable shadow casting for terrain
Add a check to TerrainDrawable to make sure shadows are only drawn once, not once per blending pass
2017-10-31 21:21:05 +01:00
scrawl
d0866d1b3c Revert change to node mask that appears to not serve any purpose 2017-10-31 20:21:54 +01:00
AnyOldName3
ef8a7d1cb9 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2017-10-26 23:40:05 +01:00
Miloslav Číž
3731e20228 fix rain ripple regression 2017-10-24 14:12:41 +02:00
AnyOldName3
2a90dff388 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2017-10-19 15:06:49 +01:00
Miloslav Číž
8a1e0e74fd update uniform from one place 2017-10-17 09:59:53 +02:00
Miloslav Číž
da47653625 move rain intensity uniform to water node 2017-10-17 09:59:45 +02:00
Miloslav Číž
af6eeddbe5 use operator instead of drawcallback 2017-10-15 00:04:14 +02:00
Miloslav Číž
8114126a62 make use of renderinfo 2017-10-14 21:41:59 +02:00
Miloslav Číž
b95c9ba483 rain independent from camera plus wrap-around 2017-10-14 21:40:28 +02:00
AnyOldName3
26a7b48d69 Attempt to make a VDSM work, and also to set up a debug HUD, but without success. 2017-10-13 18:19:29 +01:00
AnyOldName3
0568c93b39 Add specific shadow source files to MWRender 2017-10-03 03:40:23 +01:00
AnyOldName3
ba1e2cab2f Merge remote-tracking branch 'upstream/master' into osgshadow-test 2017-10-03 03:00:15 +01:00
Miloslav Číž
4999c667b6 fix rain ripple bug 2017-09-29 19:56:16 +02:00
Miloslav Číž
8416feaf5b link rain water ripple effect to actual rain 2017-09-28 19:04:31 +02:00
Miloslav Číž
cde2c13900 make water depth independent of view frustum 2017-09-26 14:14:28 +02:00
AnyOldName3
99f6a1b8e1 Switch to LispSM 2017-09-19 23:44:37 +01:00
scrawl
00034192dc Fix player Ptr in RenderingManager not being updated on cell changes
Noticed that 'setpos' wasn't working in the console with the player selected.
2017-09-17 23:07:17 +00:00
AnyOldName3
e2623d21ab Merge remote-tracking branch 'upstream/master' into osgshadow-test 2017-08-23 13:33:22 +01:00
scrawl
ac78d01b2b Terrain: use the main camera's viewpoint for intersection tests
Fixes lag spikes caused by intersection tests loading/unloading terrain pages.
2017-07-19 13:11:44 +02:00
scrawl
532b26bf3c osgShadow experiment 2017-04-14 15:35:41 +02:00
scrawl
9371100fde Reuse the intersection visitor and set a traversal number to allow the terrain component to manage its view more efficiently 2017-03-14 19:27:56 +01:00
scrawl
e7a0878c10 Add CompositeMapRenderer info to the stats panel 2017-03-14 19:27:56 +01:00
scrawl
1c15686353 Remove non required use of WorkQueue 2017-03-14 19:27:56 +01:00
scrawl
19d516cbda Use the QuadTreeWorld based on distant terrain setting now that it sort of works. 2017-03-14 19:27:56 +01:00
scrawl
4dbd224249 Hide the terrain in non-exterior cells 2017-03-14 19:27:56 +01:00
scrawl
14225a42c6 Remove unused pointer to IncrementalCompileOperation 2017-03-14 19:27:55 +01:00
scrawl
5eff286c71 Use separate node mask and parent for CompositeMapRenderer to allow the loading screen to pre compile composite maps. 2017-03-14 19:27:55 +01:00
scrawl
e323b2fa7b Use the SceneManager's ShaderManager 2017-03-14 19:27:55 +01:00
scrawl
051c17a184 Make reportStats const 2017-03-14 19:27:55 +01:00
scrawl
2c68ed4fb4 Remove no longer required use of UnrefQueue as the new resource manager will naturally clear the cache from the worker thread 2017-03-14 19:27:55 +01:00
scrawl
35d53acc65 Factor out terrain chunk loading/caching into a new resource manager 2017-03-14 19:27:55 +01:00
scrawl
9a3a64f0c4 Add resource manager for ESM::Land to allow data to be unloaded when no longer required 2017-03-14 19:27:55 +01:00
scrawl
ccfebdd2c3 Set the underwater fog relative to default view distance 2017-03-14 19:27:44 +01:00
scrawl
00d4fea91c Derive Animation from osg::Referenced to allow the UnrefQueue to delete it 2017-02-22 15:27:20 +01:00
scrawl
a5247394dc (Re)set the inventory listener outside of the Animation class 2017-02-22 15:08:22 +01:00
scrawl
8f79fa3d72 Add resource statistics panel opened with F4 2017-02-22 14:28:45 +01:00
scrawl
f10edb71cc Add environment variable for disabling IncrementalCompileOperation 2017-02-15 21:01:25 +01:00
scrawl
026a05718f Construct the WorkQueue in Engine 2017-02-14 07:58:16 +01:00
scrawl
d141b98f0c Add base animations to preloadCommonAssets 2017-02-09 03:32:40 +01:00
scrawl
249fe9077b Handle 'tcb' command as an alias for 'tcg' 2017-02-08 18:51:07 +01:00
scrawl
884d306bf3 Throw exception when told to use 0 threads 2017-02-04 05:58:12 +01:00
scrawl
2db7292bcb Add new setting for the number of preloading worker threads
If you have CPU cores to spare, consider setting 2 or 3. Up to about 3 threads, preloading performance seems to increase in a linear fashion, but with 4 or more threads I/O bottlenecks and synchronization overhead starts to show.
2017-02-04 02:59:28 +01:00
scrawl
c5f8ff6e0e Add names to several nodes for debugging purposes 2017-02-02 21:49:52 +01:00
scrawl
fcb4129aee Add 'small feature culling pixel size' setting 2017-02-01 06:00:14 +01:00
scrawl
960d4a96c3 Reduce the number of osg::Material state by setting the default state on the graph root 2017-02-01 06:00:14 +01:00
scrawl
34deb6e7b1 Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes 2017-02-01 06:00:14 +01:00
Allofich
19db070fca Don't update ripple simulation when paused 2016-10-31 01:19:38 +09:00
Allofich
01774c656c Fix for blood effect texture overrides 2016-09-14 23:28:57 +09:00
scrawl
b2ae45f0eb Remove unneeded setGraphicsContext() calls 2016-08-16 19:33:09 +02:00
scrawl
71f786ff84 Delete the WorkQueue first
Fixes a potential crash on exit.
2016-08-14 18:10:29 +02:00
scrawl
6f376bd499 Merge pull request #983 from Allofich/telekinesis
Don't allow telekinesis on actors or teleport doors
2016-07-08 23:47:43 +02:00
Allofich
538209b0a2 Change variable to mRatio and initialize it 2016-07-07 21:54:29 +09:00
Allofich
64d53a2314 Avoid double raycasts when using getFacedObject 2016-07-04 16:06:04 +09:00
scrawl
252b27f0ef Remove getEyePos() 2016-07-01 15:04:59 +02:00
scrawl
59cfcb38e2 Scale the sunlight specular color by weather's GlareView value (Fixes #3375) 2016-05-10 17:39:57 +02:00
scrawl
157c11398d Add terrain parallax mapping 2016-03-22 21:46:15 +01:00
scrawl
0db7163363 Add specular mapping for terrain 2016-02-20 19:55:08 +01:00
scrawl
f01e8a6950 Add specular mapping for objects 2016-02-20 19:55:08 +01:00
scrawl
5cf2441b10 ShaderVisitor: support automatic recognition of normal maps based on file pattern
Introduce new settings 'auto use object normal maps', 'auto use terrain normal maps', 'normal map pattern'
2016-02-20 18:00:43 +01:00
scrawl
6a0ac824bd Fix terrain error in OpenCS 2016-02-19 15:00:58 +01:00
scrawl
a73512afb7 Add shader settings to settings.cfg 2016-02-18 19:38:34 +01:00
scrawl
a9ad1b09e2 Introduce ShaderManager & ShaderVisitor
Actual shaders still to be written.
2016-02-18 19:37:56 +01:00
scrawl
e05d975020 Change the way that texture filtering settings are applied at runtime 2016-02-18 19:37:55 +01:00
scrawl
d3808580b0 Rename lightRoot to sceneRoot 2016-02-10 19:07:47 +01:00
scrawl
0865cea211 Preload terrain 2016-02-09 21:16:11 +01:00
scrawl
1457a0de78 Use the UnrefQueue to delete BulletShapeInstances 2016-02-09 19:04:59 +01:00
scrawl
d11c2864df Introduce UnrefQueue to handle the deleting of no longer needed objects in the background thread 2016-02-09 15:45:35 +01:00
scrawl
1cda2bf796 Preload sky & water from the main menu 2016-02-09 01:28:13 +01:00
scrawl
f9082502f8 Move construction of WorkQueue to RenderingManager 2016-02-09 01:02:40 +01:00
scrawl
d855a13b44 Clear the resource cache from the worker thread 2016-02-07 00:36:31 +01:00
scrawl
df57d4bfba Use a common base class for resource managers
Implement updateCache to delete unreferenced cached objects when they have not been referenced for a while.
2016-02-06 17:22:17 +01:00
scrawl
499beda665 Clear terrain texture cache before applying filter settings 2016-02-05 23:20:13 +01:00
scrawl
f99f403dda Rename TextureManager to ImageManager 2016-02-05 23:03:53 +01:00
scrawl
6ef848b7c5 Remove TextureManager::getTexture2D
Instead use getImage and let the caller create the Texture. Sharing of textures is then handled in post by the SharedStateManager.

This is closer to what the OSG serializer does.

Streamlines the TextureManager and will make it easier to multithread.
2016-02-05 23:01:11 +01:00
scrawl
5b972ee777 Move texture filtering settings to SceneManager
Practical benefits:

- Filter settings are now applied to native OSG format models. These models do not use TextureManager::getTexture2D since the model itself specifies a Texture.
- The GUI render manager will be able to use its own separate textures, making it easier to turn off filtering for them.
2016-02-05 21:03:10 +01:00
Alexander "Ace" Olofsson
776c715ccd Move NoTraverseCallback to mwrender/util.hpp 2016-01-29 23:21:58 +01:00
scrawl
6546c05428 Move Fallback map to components/ 2016-01-11 23:10:16 +01:00
scrawl
ed101ad35a Remove redundant getPlayerAnimation function 2015-12-18 17:44:57 +01:00
scrawl
7a8a7e3dd6 Add const version of getAnimation 2015-12-18 17:21:51 +01:00
Chris Robinson
f1faeeae3a Use separate config options for min and mag texture filters 2015-12-13 17:05:19 -08:00
Chris Robinson
5c0a847eaf Combine some duplicate code 2015-12-13 16:51:27 -08:00
Chris Robinson
b830a413d3 Rename the texture filter options
To avoid compatibility issues with upgrading from or downgrading to older
builds.
2015-12-13 16:02:09 -08:00
Chris Robinson
76bde5ee13 Separate and expand texture filtering options 2015-12-13 11:25:01 -08:00
scrawl
e520d37c87 Override the field of view for first person meshes (Fixes #858, Fixes #3051) 2015-12-07 16:29:30 +01:00
scrawl
9621b66b78 Move field of view setting to Camera section 2015-12-07 16:23:06 +01:00
scrawl
136a425cec Use the Werewolf field of view override (Fixes #3064)
Need to re-run the settings importer for the feature to work.
2015-12-07 16:11:47 +01:00
scrawl
67a6a8f5d4 Make projectiles receive lighting 2015-12-05 00:44:18 +01:00
scrawl
3f93af4181 Projectiles interact with the water surface (Fixes #2986) 2015-12-04 23:28:11 +01:00
scrawl
86881bcf39 In first person mode, attach sound listener to the camera 2015-12-03 15:16:20 +01:00
scrawl
62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 2015-11-22 19:54:26 +01:00
scrawl
35459f20d5 Refactor lighting mask 2015-11-10 17:23:12 +01:00
scrawl
91583fc027 Fix MWRender::Mask_ParticleSystem 2015-11-10 17:00:33 +01:00
scrawl
1b52749ae1 Adjust third person camera height based on character height 2015-11-09 17:42:35 +01:00
scrawl
2407f393ce Fix double update traversal in screenshot function 2015-11-06 23:14:27 +01:00
scrawl
6e69808129 Fix the frameNumber not being incremented in certain frames 2015-11-06 23:14:27 +01:00
scrawl
c996702b56 Fix some uninitialised variables found by static analysis 2015-11-04 20:34:50 +01:00
scrawl
209fa52883 Hide weather particles underwater (Fixes #2701) 2015-11-03 23:15:43 +01:00
scrawl
30c828dff0 Include cleanup 2015-11-03 02:17:42 +01:00
scrawl
8da4530957 Use INI-imported underwater fog settings (Fixes #2907, Fixes #1511) 2015-11-01 22:09:27 +01:00
scrawl
93f4d31cf9 Raytest mask fix (Fixes #2984) 2015-10-31 01:30:02 +01:00
scrawl
b9b154a015 Minor cleanup 2015-10-31 00:01:12 +01:00
scrawl
8433e0679f Water: connect to settings window 2015-10-29 00:25:24 +01:00
scrawl
6ba9f561ea Use simple water for the local map 2015-10-29 00:25:24 +01:00
scrawl
9f2f503d37 Water: pass the near and far planes 2015-10-29 00:25:24 +01:00
scrawl
700a0099c3 Remove debug code 2015-10-29 00:25:23 +01:00
scrawl
e13eb625d3 New water WIP
Changes compared to old (Ogre) water:
- Uses depth-texture readback to handle the underwater fog in the water shader, instead of handling it in the object shader
- Different clipping mechanism (glClipPlane instead of a skewed viewing frustum)
- Fixed bug where the reflection camera would look strange when the viewer was very close to the water surface
- Toned down light scattering, made the waterColor a bit darker at night
- Fixed flipped water normals and strange resulting logic in the shader

Still to do: see comments...
2015-10-29 00:25:23 +01:00
scrawl
515c52211e Disable mipmaps for temporary screenshot texture 2015-10-25 18:28:50 +01:00
dteviot
3fa5c6a0e7 fixed travis build failure 2015-08-21 22:00:08 +12:00
dteviot
85bc41dedb replaced FLT_MAX with numeric_limits. 2015-08-21 19:34:28 +12:00
scrawl
681183df31 Restore handling of fog depth == 0 values (Bug #1549) 2015-08-19 01:13:14 +02:00
scrawl
664ae079db Improve setting of culling mask for the savegame screenshot camera 2015-08-02 18:05:15 +02:00
scrawl
88c61ed2b6 Fix NotifyDrawCompletedCallback in single threaded mode 2015-08-02 17:57:50 +02:00
scrawl
dcb8fbc69c Accurate handling of fog depth/density (Fixes #2752) 2015-07-02 20:46:34 +02:00
scrawl
4b2391c60f Ignore effect meshes in getScreenBounds 2015-06-30 02:51:32 +02:00
scrawl
ad6764fa6a Fix bug #2715 2015-06-20 17:08:46 +02:00
scrawl
2b53e5d965 Fix for explosion effects playing when the game is paused 2015-06-19 03:32:48 +02:00
scrawl
3ebfb4e0d9 Ignore particle systems in getScreenBounds 2015-06-17 18:22:31 +02:00
scrawl
1c151f2f0a Re-enable some outcommented sky code 2015-06-16 20:56:48 +02:00
scrawl
3da8f6e62e Water ripples 2015-06-16 20:36:48 +02:00
scrawl
b90fc8ad92 Fix for various Viewer::frame calls resetting the simulationTime 2015-06-14 18:19:53 +02:00
scrawl
76bdf7a5b7 Add night-eye effect 2015-06-11 23:16:05 +02:00
scrawl
ddfed35d1c Object placement raycasts should use the rendering meshes 2015-06-05 02:26:16 +02:00
scrawl
2a85a22dba Write savegame screenshot 2015-06-03 16:40:16 +02:00
scrawl
cdd0623009 Terrain rendering 2015-06-03 01:35:41 +02:00
scrawl
01944c33f5 Basic water rendering 2015-06-02 16:35:35 +02:00
scrawl
c85764b654 Wireframe mode 2015-06-01 17:02:44 +02:00
scrawl
bed31996c9 Camera raycast 2015-06-01 15:34:46 +02:00
scrawl
ccd95419e5 Restore various raycasting 2015-06-01 01:57:15 +02:00
scrawl
723beb1cac Move IncrementalCompileOperation to SceneManager 2015-05-26 20:20:18 +02:00
scrawl
099f93f00d Sky fixes 2015-05-26 18:22:21 +02:00
scrawl
3dcb167066 Map rendering 2015-05-26 16:40:44 +02:00
scrawl
95465a1489 Player raycast fix 2015-05-24 04:01:36 +02:00
scrawl
8b322fcd06 Implement getFacedObject using osgUtil::IntersectionVisitor 2015-05-24 03:36:34 +02:00
scrawl
c2131e7c31 Make near clip distance configurable 2015-05-24 02:34:20 +02:00
scrawl
85345e663a Restore getHitContact 2015-05-22 04:36:33 +02:00
scrawl
d6da5c8007 Fix for crosshair not showing 2015-05-22 04:36:33 +02:00
scrawl
5ea61af6ac Fix for applying view distance 2015-05-22 04:36:33 +02:00
scrawl
2235d2978b Restore animation text key handling 2015-05-22 04:36:33 +02:00
scrawl
9b8e2e9db3 Port MWRender::Camera 2015-05-22 00:29:27 +02:00
scrawl
c4452afd89 Inventory item picking 2015-05-20 04:09:21 +02:00
scrawl
820f4a2688 Fix light direction 2015-05-20 02:07:18 +02:00
scrawl
24bb2e152c Apply texture filter setting changes 2015-05-14 21:42:04 +02:00
scrawl
3e86dd7df0 Apply runtime changes to field of view & view distance 2015-05-14 18:46:28 +02:00
scrawl
b7258c8d23 Readded Objects::updatePtr 2015-05-14 17:34:55 +02:00
scrawl
77f733362c Add stats graphs for Script, Mechanics and Physics timings 2015-05-07 21:57:02 +02:00
scrawl
100d6e5fff Render MyGUI in background thread, i.e. refactor to get rid of DYNAMIC DataVariance 2015-05-05 02:38:59 +02:00
scrawl
e191f0e044 Rename MWRender::Debugging to MWRender::Pathgrid 2015-05-04 17:41:30 +02:00
scrawl
9de575ad42 Use IncrementalCompileOperation to incrementally upload OpenGL objects during the loading screen
For now, not much difference, but should result in a sizable speed up once MyGUI no longer needs the DYNAMIC flag (i.e. the loading screen truly renders in the background).
2015-05-03 18:16:54 +02:00
scrawl
9cf9c2876e Pathgrid rendering 2015-05-02 22:45:39 +02:00
scrawl
bd8f0248f0 Player rendering 2015-05-01 18:21:50 +02:00
scrawl
62847f0489 Use node masks to separate Scene and GUI 2015-05-01 01:44:21 +02:00
scrawl
0ff7b2ff11 MechanicsManager, frame update 2015-04-25 15:19:17 +02:00
scrawl
42d6c6140c Add mygui backend by chris 2015-04-24 21:55:30 +02:00
scrawl
1c0e3a6488 rotateObject, scaleObject 2015-04-23 23:50:46 +02:00
scrawl
1a19cd3607 Some cleanup 2015-04-22 19:08:56 +02:00
scrawl
dfd8e08698 Dead code removal 2015-04-21 23:40:10 +02:00
scrawl
9e177df61b Add fog, view distance, and far plane culling 2015-04-21 23:36:36 +02:00
scrawl
42f6d9e15b Port video player 2015-04-19 20:07:18 +02:00
scrawl
68f93294da Port EffectManager 2015-04-19 17:55:56 +02:00
scrawl
edc5cad79e Port Animation::addEffect 2015-04-19 01:57:52 +02:00
scrawl
c516e897ee Move Controller base classes to SceneUtil, add visitor to assign ControllerSources 2015-04-14 17:51:46 +02:00
scrawl
5dd1ab24fe More efficient StateSetController, beginnings of sky rendering 2015-04-14 15:58:16 +02:00