Commit Graph

311 Commits

Author SHA1 Message Date
samuncle
f7f3cb1cbe Add depth of field to the color_level shader. As vincent requested. Something cleaner need to be done 2014-03-23 00:59:06 +01:00
vlj
6538d16eb3 Fix a shader compile failure on nvidia. 2014-03-22 22:32:52 +01:00
Vincent Lejeune
29749d5dbd Merge commit 'f3e2da881a4d394c4ca902548e788f5b4c0bdd81'
* commit 'f3e2da881a4d394c4ca902548e788f5b4c0bdd81':
  Do not build shadow shader without gs support.
  Add a function to query supported glsl ver
  Some drivers dont support const array
2014-03-22 18:54:51 +01:00
Vincent Lejeune
ae3cf30070 Add a function to query supported glsl ver 2014-03-22 18:36:20 +01:00
Vincent Lejeune
aa39246404 Some drivers dont support const array 2014-03-22 18:36:19 +01:00
Vincent Lejeune
340eaa9352 Factorize getLightFactor 2014-03-21 18:36:47 +01:00
Vincent Lejeune
01b88fde9d Factorize DecodeNormal from misc shaders. 2014-03-21 18:17:21 +01:00
Vincent Lejeune
77e5f413c7 Factorize EncodeNormal from Pass1 shaders. 2014-03-21 18:10:54 +01:00
vlj
f06ad3c785 Reenable transparent + fog material. 2014-03-20 18:25:44 +01:00
Vincent Lejeune
9a6d15a865 Attempt to fix skidding mark's color 2014-03-19 01:25:54 +01:00
Vincent Lejeune
dd5997d277 Start working on instancing library node 2014-03-18 23:47:53 +01:00
Marianne Gagnon
0425cf2ef4 Implement color variation in particle system 2014-03-15 13:35:51 -04:00
Vincent Lejeune
0c5d5ce96e IBL: Fix sampling ignoring cubemap rotation 2014-03-14 16:51:07 +01:00
Vincent Lejeune
740c251808 Use Instancing for lights. 2014-03-14 16:51:06 +01:00
Vincent Lejeune
e9e60339bf Fix non compiling shader on mesa 2014-03-09 21:06:02 +01:00
Vincent Lejeune
8600d3bc61 IBL: Spheremap now reflects skybox 2014-03-04 23:37:45 +01:00
Vincent Lejeune
391053e368 IBL: Implement IBL 2014-03-04 23:28:24 +01:00
Vincent Lejeune
718c1cacb0 Improved caustics effect. 2014-03-04 22:30:33 +01:00
Vincent Lejeune
c93c921028 STKMesh: Support caustic material. 2014-03-04 18:42:33 +01:00
Vincent Lejeune
e1d879a1f2 STKMesh: Improve displace effect. 2014-03-03 23:59:12 +01:00
samuncle
7393fa0603 Add an attenuation based on depth 2014-03-03 16:38:26 +01:00
samuncle
ee76d9b579 Reduce the brightness of the vignette 2014-03-03 15:19:22 +01:00
samuncle
4b92ee1716 Add a vignette to simulate a real camera 2014-03-03 14:12:56 +01:00
Vincent Lejeune
9f83b1ab76 Remove unneeded varying in sky.frag. 2014-03-02 17:50:42 +01:00
Vincent Lejeune
da4896c3d8 SSAO: tweak fade distance. 2014-03-01 22:50:22 +01:00
Vincent Lejeune
baba5f79d1 Remove some unused shaders. 2014-02-28 17:30:25 +01:00
Vincent Lejeune
af862cb6c5 #version autoadded to shaders and turn some v120 2014-02-28 17:29:05 +01:00
Vincent Lejeune
108e82afc2 Fix Sara's moving textures. 2014-02-27 01:49:03 +01:00
Vincent Lejeune
9941b18d7f Rework moving textures support. 2014-02-27 01:22:34 +01:00
Vincent Lejeune
7532ea1768 Skybox: Do some cleaning. 2014-02-26 22:28:06 +01:00
Vincent Lejeune
9ffa4681d3 Better when actually include the shaders. 2014-02-26 21:53:29 +01:00
Vincent Lejeune
2d1acf5353 Godray: improve the effect and its stability. 2014-02-23 20:16:03 +01:00
Vincent Lejeune
04fc4c3be7 Reenable Godray (on all track atm) 2014-02-23 20:02:15 +01:00
Vincent Lejeune
778cdcf3ce Godray/Godfade now declared in new pipeline. 2014-02-23 18:59:24 +01:00
Vincent Lejeune
a00abffb01 MotionBlur: Use direct GL calls. 2014-02-23 00:13:22 +01:00
Vincent Lejeune
8ba0fcb8e0 STKMesh: Transparent texture can move now. 2014-02-20 18:31:00 +01:00
Vincent Lejeune
40c4155bd2 STKMesh: Support for (non ref) moving texture 2014-02-20 00:01:02 +01:00
samuncle
073a049389 Correction of a syntax error 2014-02-17 22:36:00 +01:00
Vincent Lejeune
e5a174d85b Add compatibility keyword on and remove some unused shaders 2014-02-17 15:34:57 +01:00
Vincent Lejeune
d5d57bbae0 Shadows: Softer edge and smoother cascade transitions 2014-02-15 20:45:47 +01:00
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
Vincent Lejeune
fb6649eaad texture2D is deprecated, use texture instead 2014-01-19 18:53:35 +01:00
Vincent Lejeune
d6d8301f17 SSAO: Use a noise texture rather than a function 2014-01-19 18:20:57 +01:00
Vincent Lejeune
4d66503dae STKMesh: Use objectref now 2014-01-19 02:15:17 +01:00
Vincent Lejeune
2609e5c709 LightPrepass: start porting object_ref 2014-01-19 01:32:08 +01:00
Vincent Lejeune
00cf026051 Tweak glow so that black halo is less visible. 2014-01-18 20:11:18 +01:00
Vincent Lejeune
dec2cb29ec STKMesh: Support splatting 2014-01-18 19:03:10 +01:00
Vincent Lejeune
fbe9b26127 STKMesh: Support spheremap material 2014-01-18 18:10:22 +01:00
Vincent Lejeune
002bb9c276 Remove unused spheremap.vert/frag 2014-01-18 17:26:01 +01:00
Vincent Lejeune
42e6da443a Simplify Spheremap shader. 2014-01-18 03:25:54 +01:00
Vincent Lejeune
787866909d SSAO: Do not use trilinear filtering
Normals RTT is not mipmapped and thus bad things happened above a
certain value in the depth buffer because of trilinear filtering.
2014-01-17 23:59:08 +01:00