Commit Graph

221 Commits

Author SHA1 Message Date
Vincent Lejeune
57079cbff5 Shaders: Declare penumbraH/V and shadowgen 2014-02-12 23:32:18 +01:00
Vincent Lejeune
0243546e4d Use an openGL 3.3 compatibility context when available. 2014-02-12 22:16:10 +01:00
Vincent Lejeune
70f89a8bce Shadow: Use 4 cascades.
Now that we use GS and textures array it's easier to add a cascade.
4 is still not optimal but I'd like to avoid cascade count inflation as
much as possible ; 4 x 1024x1024 has the bandwidth requirement of the
single 2048x2048 shadowmaps we previously had.
2014-02-11 21:49:46 +01:00
Vincent Lejeune
934d1f10b8 Shadow: Use Geometry Shader for better perfs.
The 3 cascades are now rendered in a single pass, using 2D array texture and
a GS to do the dispatch ("layered rendering").
It's possible to use instancing instead but it requires the AMD_vertex_shader_layer
extension which is oddly part of opengl 4.2.
2014-02-11 21:07:44 +01:00
Vincent Lejeune
c8844486fa Shadow: Tweak bias 2014-02-10 15:58:09 +01:00
Vincent Lejeune
515bcbc750 Shadow: very crude csm support 2014-02-10 15:42:17 +01:00
Vincent Lejeune
19d490a26d Lights: Remove unused export value. 2014-02-09 21:18:15 +01:00
Vincent Lejeune
5d5ac34648 Shadow: soften edge a little 2014-02-09 20:03:54 +01:00
Vincent Lejeune
63db565fd7 Shadow: Better bias. 2014-02-09 19:42:22 +01:00
Vincent Lejeune
f0ef8e9913 Shadow: reenable shadows
It's just plain basic shadowmaps, a lot of tweak is still necessary but
it gives a way to see how light values are affected in some places.
(cave in chocolate for instance)
2014-02-09 19:20:55 +01:00
Vincent Lejeune
ab05cb45b8 Shaders: Remove some unused shaders. 2014-02-08 18:19:16 +01:00
Vincent Lejeune
653a695eda Fix fog looking weird on transparent.
But mixing alpha with 0 instead of 1.
2014-02-05 15:07:57 +01:00
Vincent Lejeune
5964809f3c Forget to add transparentfog.frag shader. 2014-02-03 20:14:12 +01:00
Vincent Lejeune
6e93178d68 Fog: Do not use camposition in the shader. 2014-02-03 20:04:00 +01:00
Vincent Lejeune
cd43ee3c9d Lightprepass: Remove now useless lightblend shader. 2014-02-02 20:18:05 +01:00
Vincent Lejeune
2bb1254fa4 Fix bloom shader 2014-02-02 02:13:04 +01:00
Vincent Lejeune
fd968a0acf OGL32CTX: Factorize UI shaders
This should fix UI disappearing after resolution change.
2014-01-28 21:26:16 +01:00
Vincent Lejeune
f50e6f817d Use another normal encoding method from a crytek slide. 2014-01-27 23:29:46 +01:00
Vincent Lejeune
1c98cf0b61 Normalize normals when they are used to get more precision 2014-01-27 22:31:01 +01:00
Vincent Lejeune
5771dd98c7 Fix typo 2014-01-27 22:31:01 +01:00
Vincent Lejeune
d642bc1489 Lightprepass: Only store normals in rtt
Use a more economical rtt format.
2014-01-27 21:47:25 +01:00
Vincent Lejeune
22ccf3bab3 GPUParticle: Use depthbuffer 2014-01-27 20:33:21 +01:00
Vincent Lejeune
dbcf60003b SunLight: Use DepthBuffer 2014-01-27 20:25:45 +01:00
Vincent Lejeune
ecac127dd6 Fog: Use depthbuffer. 2014-01-27 20:25:19 +01:00
Vincent Lejeune
0b531b20f7 SSAO: Use depth buffer. 2014-01-27 20:24:57 +01:00
Vincent Lejeune
5e68334ce9 PointLight: Use depthbuffer 2014-01-27 20:22:01 +01:00
Vincent Lejeune
c77ffb1882 STKBillboard: Create new SceneNode wrapper. 2014-01-27 17:33:08 +01:00
Vincent Lejeune
ac8a729bcd SSAO: Actually simplifying code was a mistake. 2014-01-27 00:56:58 +01:00
Vincent Lejeune
684d265924 SSAO: Disable alpha test and simplify code 2014-01-27 00:53:52 +01:00
Vincent Lejeune
993d1e26dc Revert "SSAO: Remove the strenght parameter"
This reverts commit b92f0b6ecc.
2014-01-27 00:52:20 +01:00
Vincent Lejeune
63882318a7 SSAO: Fix typo and use 16 samples 2014-01-27 00:47:35 +01:00
Vincent Lejeune
b92f0b6ecc SSAO: Remove the strenght parameter 2014-01-27 00:41:41 +01:00
Vincent Lejeune
31991ecd7e SSAO: Improve randomness using NEAREST filtering 2014-01-27 00:09:36 +01:00
Marianne Gagnon
30011be115 My tweaks to SSAO, to improve randomness and final blending 2014-01-25 22:03:47 -05:00
Vincent Lejeune
8b5df4143f Fix attempt for black objects. 2014-01-26 01:56:08 +01:00
Vincent Lejeune
88561aa838 STKMesh: Implement (single) texture detail support for objectpass shaded objects. 2014-01-26 01:33:13 +01:00
Vincent Lejeune
2e994502e3 Properly handle unlit object. 2014-01-26 01:09:25 +01:00
Vincent Lejeune
8bd6d7945c STKAnimatedMesh: Support for rimlit karts 2014-01-24 20:29:54 +01:00
Vincent Lejeune
b94f8f0c18 Light: Factorize some code. 2014-01-22 22:22:54 +01:00
Vincent Lejeune
68976a7a8e STKMesh: Found the correct swizzle for untextured geometry 2014-01-22 19:07:59 +01:00
Vincent Lejeune
d13032ca9b STKMesh: Support for untextured object
The color are not the correct one though...
2014-01-22 18:47:22 +01:00
Vincent Lejeune
4cbbf91e4e Light: Sunlight uses the new shaders. 2014-01-21 23:45:53 +01:00
samuncle
5efa395acb SSAO is stronger now 2014-01-21 20:06:06 +01:00
Vincent Lejeune
7faed75a84 STKMesh: Add support for Displacing 2014-01-21 18:42:18 +01:00
Vincent Lejeune
a67f5bf511 STKMesh: Use forward rendering for transparent
Transparent objects may be double sided (like bubble),
it doesn't make sense to use a deferred renderer.
2014-01-20 21:42:38 +01:00
Vincent Lejeune
f3a9b24880 STKMesh: Start support for transparent object.
Highly experimental, only applies on the blob shadow under karts.
2014-01-20 20:43:39 +01:00
Vincent Lejeune
ceb1fdc88a SSAO: Use a single texture fetch for random. 2014-01-20 20:43:03 +01:00
Vincent Lejeune
32836cf93d Use 8 samples instead of 16 2014-01-19 20:57:58 +01:00
Vincent Lejeune
24443829db STKMesh: Support grass shader 2014-01-19 20:56:10 +01:00
Vincent Lejeune
859be83074 Explicitly define fragment exported values. 2014-01-19 19:31:00 +01:00