Commit Graph

706 Commits

Author SHA1 Message Date
Vincent Lejeune
192ed8a486 Fix classic fog 2014-11-11 22:43:25 +01:00
Vincent Lejeune
09fa1ee3cb Implement scattering for point light 2014-11-11 22:36:27 +01:00
Vincent Lejeune
bd4fe57524 Use fog start value to determine density 2014-11-11 21:52:54 +01:00
Vincent Lejeune
84affec451 Change fog equation 2014-11-10 22:08:12 +01:00
Vincent Lejeune
85bbc0f8b8 Use variable sigma for blur filter 2014-11-10 21:32:04 +01:00
samuncle
e20d8bdcdf Merge branch 'master' of https://github.com/supertuxkart/stk-code into lensflare
Keep lens flare updated with trunk
2014-11-08 01:51:40 +01:00
Vincent Lejeune
04d313671c Fix sqrt(int) in diffuseenvmap 2014-11-08 01:02:46 +01:00
Vincent Lejeune
5eefe0c0ad Make envmap reflexion less blurry 2014-11-08 00:57:49 +01:00
samuncle
2a440bb2cb minor modification to the blueish mood of lens flare 2014-11-07 16:20:39 +01:00
samuncle
1e547652f7 Merge branch 'master' of https://github.com/supertuxkart/stk-code into lensflare
Keep lens flare updated with master
2014-11-07 16:14:11 +01:00
Vincent Lejeune
909948c9a4 Implement depth histogram to position cascade split 2014-11-07 13:42:13 +01:00
Vincent Lejeune
cacb008ae6 Prepare compute shader to stretch lightcoord 2014-11-07 13:42:13 +01:00
samuncle
52bc4cebd4 Add the lensflare shader 2014-11-04 21:15:18 +01:00
Vincent Lejeune
92ecd01e61 Make cascade split modifiable 2014-11-04 20:53:32 +01:00
samuncle
d7caebe847 enable vignette during races 2014-11-03 21:53:44 +01:00
Vincent Lejeune
ddecd23472 Tweak values 2014-11-02 19:07:02 +01:00
Vincent Lejeune
ebe11370a2 Reenable bluring 2014-11-02 16:30:44 +01:00
Vincent Lejeune
c5186e3ab3 Use depth in exp space 2014-11-02 16:26:46 +01:00
Vincent Lejeune
b975b63eea Use proper depth linear value 2014-11-02 16:00:41 +01:00
Vincent Lejeune
f5a44c0a19 Take more sample 2014-11-02 02:42:44 +01:00
Vincent Lejeune
9113aa7a39 Implement Exponential Shadow map 2014-11-02 02:36:10 +01:00
Vincent Lejeune
7679213e26 Use exp algorithm for the gaussian blur 2014-11-02 02:35:02 +01:00
Vincent Lejeune
6aed902ae0 Store depth in color buffer instead of depth
This allows for instance to blur it using already existing shaders
2014-11-01 22:38:38 +01:00
Vincent Lejeune
ee687440c7 Increase shadow filtering 2014-10-29 18:57:39 +01:00
Vincent Lejeune
794ab54b7a Clamp lodval 2014-10-24 00:41:34 +02:00
Vincent Lejeune
9ca4d7e3e6 Improve ibl specular reflexion using mipmap chain 2014-10-22 14:49:06 +02:00
Vincent Lejeune
2f45266c6f Fix position of speedmeter
Only need to get the texture
2014-10-17 18:51:41 +02:00
Vincent Lejeune
ce7f017adf Some fixes 2014-10-17 18:43:39 +02:00
Vincent Lejeune
ea3cc141ff Fix grass in azdo mode 2014-10-08 01:01:28 +02:00
Vincent Lejeune
9de7d11ee4 Fix bloom effect on mesa 2014-10-07 00:00:16 +02:00
Vincent Lejeune
20ea7ca271 GI use sun color value 2014-10-06 22:51:41 +02:00
vlj
b10f1a3ef2 Tweak envmap 2014-10-06 02:29:18 +02:00
vlj
c7b98c4e6c Emulate envmap specular reflexion 2014-10-06 02:19:21 +02:00
Vincent Lejeune
44792a1490 Fix splatting 2014-10-05 22:46:02 +02:00
Vincent Lejeune
0db951f374 Try to emulate enery conservation 2014-10-05 21:53:06 +02:00
Vincent Lejeune
300a09746f Additionnal fixes 2014-10-05 21:45:56 +02:00
Vincent Lejeune
a8161288a9 Convert remaining shaders 2014-10-05 20:47:13 +02:00
Vincent Lejeune
9f2b66d195 Use specmap on others mats 2014-10-05 20:37:49 +02:00
Vincent Lejeune
0121ae8db6 Use specmap value 2014-10-05 02:30:01 +02:00
Vincent Lejeune
88954a5d88 Prepare shader for specmap value 2014-10-05 02:12:04 +02:00
vlj
30dda3e343 Fix sky warp 2014-10-02 02:53:31 +02:00
vlj
2236e8dd1c Fix extra respawning particles 2014-10-01 01:19:49 +02:00
vlj
58e1b73752 Fix bloom computation 2014-09-24 01:19:37 +02:00
Vincent Lejeune
5643e38886 Some factorisation for non instanced path 2014-09-20 19:28:06 +02:00
Vincent Lejeune
b3e124b93e Some fixes 2014-09-20 18:48:22 +02:00
Vincent Lejeune
b034049a28 Support for 3 tex mats 2014-09-19 23:09:22 +02:00
Vincent Lejeune
24cd727899 Add glossytex to textures 2014-09-19 19:54:00 +02:00
Vincent Lejeune
1d2c77d86a Use ProjectionViewMatrix in glow_object.vert 2014-09-17 02:12:28 +02:00
Vincent Lejeune
b769e46a00 Use texture instead of image in SSAO. 2014-09-16 15:18:29 +02:00
Vincent Lejeune
4c6df4821d Revert "Do not allow specvalue to be below 0."
This reverts commit 6b4430caaa.
2014-09-16 00:37:49 +02:00
Vincent Lejeune
fbb71bca7e Revert "Fix negative value inside tonemap"
This reverts commit 16dc973faa.
2014-09-16 00:37:37 +02:00
Vincent Lejeune
b5598fda57 Revert "Force non negative value in bloom"
This reverts commit cb922ed4db.
2014-09-16 00:37:23 +02:00
vlj
cb922ed4db Force non negative value in bloom 2014-09-15 22:11:53 +02:00
Vincent Lejeune
16dc973faa Fix negative value inside tonemap
It should be checked before but since it's not always reproducible.
2014-09-15 01:10:12 +02:00
Vincent Lejeune
6b4430caaa Do not allow specvalue to be below 0.
Just in case it shouldnt be possible anyway.
2014-09-15 01:06:15 +02:00
Vincent Lejeune
7c54ac4d81 Fix second texcoord in instanced_object_pass.vert 2014-09-14 23:07:10 +02:00
Vincent Lejeune
dea23d7a69 Properly reapply HD3000 particle fix 2014-09-10 18:57:40 +02:00
Vincent Lejeune
e77b5dddeb Revert "Forgot to fix a particle shader for hd3000"
This reverts commit 48fcea8ee8.
2014-09-10 18:57:03 +02:00
Vincent Lejeune
48fcea8ee8 Forgot to fix a particle shader for hd3000 2014-09-10 18:09:38 +02:00
Vincent Lejeune
8fd97615f3 Fix particle for hd3000 2014-09-10 01:42:51 +02:00
Vincent Lejeune
94cd8d5c51 Avoid some useless computation in some vert shaders 2014-09-05 23:41:12 +02:00
Vincent Lejeune
1e172dbf33 Fix glowobject frag shader 2014-09-05 22:17:57 +02:00
vlj
3083df450f Gather object in instanced calls 2014-09-02 23:23:23 +02:00
Vincent Lejeune
99b110cc99 Use uvec2 instead of sampler2D 2014-08-29 01:30:19 +02:00
vlj
5878cb35ec Implement runtime detection of srgb bindless fix 2014-08-28 22:02:12 +02:00
vlj
53c52470ee Use one call for each shadow cascade instead of a big one. 2014-08-26 21:56:16 +02:00
Vincent Lejeune
bf5410b793 Add unlit instanced shader 2014-08-26 20:34:59 +02:00
Vincent Lejeune
cad1efbff1 Add instanced detail shader 2014-08-26 20:34:37 +02:00
Vincent Lejeune
0960f090dc Add instanced spheremap shader 2014-08-26 20:34:26 +02:00
Vincent Lejeune
7bff68870c Read sampler from attributes. 2014-08-24 21:50:59 +02:00
Vincent Lejeune
6ac3d69471 Play with bindless textures 2014-08-22 23:48:28 +02:00
Vincent Lejeune
547018f0ab Port PointLight shader 2014-08-22 00:30:14 +02:00
vlj
f77695c098 Add Tangent/Bitangent in instanced object shader. 2014-08-15 17:15:19 +02:00
Vlj
7fbe529e6f Forget to add Tangent/BiTangent with pre 330 2014-08-15 02:14:30 +02:00
Vlj
d3ec1a27ce Completly unroll the loop 2014-08-15 00:02:43 +02:00
Vlj
4829b8ddd8 Manually unroll rh shader 2014-08-14 23:58:11 +02:00
Vincent Lejeune
f9c692052e Try a fix for nvidia and GI 2014-08-14 21:26:16 +02:00
Vincent Lejeune
8117260bf6 Factorise attribute location of simulation program. 2014-08-13 22:26:52 +02:00
Vincent Lejeune
dc02eec7b6 Port particle rendering shaders too. 2014-08-13 21:04:03 +02:00
Vincent Lejeune
22137eee88 Port UI shaders. 2014-08-13 20:25:56 +02:00
Vincent Lejeune
70b0fce50c Add support for instanced normal map mesh. 2014-08-13 19:20:40 +02:00
Vincent Lejeune
292aa0cbc4 Factorize FullScreen shaders invocations. 2014-08-13 02:01:29 +02:00
Vincent Lejeune
020e939e2b Normalize normals in normal view. 2014-08-09 21:24:50 +02:00
Vincent Lejeune
c546b25ae9 Fix perspective in normal view. 2014-08-09 21:19:26 +02:00
Vincent Lejeune
c07aed260a Visualize vertex normals in normal view. 2014-08-09 21:09:31 +02:00
Vincent Lejeune
bcc2196ccf Fix SSAO on splatting material. 2014-08-09 20:05:49 +02:00
vlj
496269e73b Make SSAO param changeable. 2014-08-09 18:51:52 +02:00
Vincent Lejeune
8db09a55cd Add Splatting RSM shader type. 2014-08-08 01:07:55 +02:00
vlj
60f76ee612 Fix RSM 2014-08-07 22:45:25 +02:00
vlj
6c3aeceb51 Fix GI
It was using wrong swizzle for depth texture.
2014-08-07 22:32:42 +02:00
Vincent Lejeune
95fb3ea580 Add support moving texture in rsm. 2014-08-07 20:44:33 +02:00
Vincent Lejeune
e932638aef Port sunlight* shaders to singleton. 2014-08-07 20:07:03 +02:00
Vincent Lejeune
87bf242164 Fix shadows for unlit with alpha ref. 2014-08-07 02:12:13 +02:00
Vincent Lejeune
858b789419 Support vertex color for alpha ref material. 2014-08-07 02:11:55 +02:00
Vincent Lejeune
c0d57100a7 Enable ref + vertex color for unlit mat. 2014-08-07 01:50:53 +02:00
Vincent Lejeune
79fba1779e Port stkbillboard to singleton shader 2014-08-07 00:52:44 +02:00
Vincent Lejeune
ca30bf7d5a Add screen fallback in case no ubo are here. 2014-08-02 01:02:06 +02:00
Vincent Lejeune
09d0c2eef5 Forget a shader + remove shader output 2014-08-02 00:56:36 +02:00
Vincent Lejeune
58c094917e Use an header included in every shaders. 2014-08-02 00:50:56 +02:00
Vincent Lejeune
f9c7c3db5e Try a fix for intel and kart selection screen. 2014-07-30 01:25:27 +02:00
Vincent Lejeune
a35c33e4f6 Remove ambient
It's already added in the diffuse env pass
2014-07-29 23:56:48 +02:00
hiker
c322c507da Fix shader error (vlj, please check). 2014-07-22 13:28:12 +10:00
vlj
4e079b0e14 Fixes shader errors reported by Auria 2014-07-17 02:17:49 +02:00
vlj
23bc1f9344 Remove use of texture2d in rh.frag 2014-07-17 02:11:04 +02:00
vlj
40a7ab0780 Raise one of ssao tolerance value. 2014-07-17 00:12:54 +02:00
vlj
9230cab9dd Add shadow for instanced grass. 2014-07-15 00:02:17 +02:00
vlj
ffe77e4aa4 Port instanced pass2 shaders to singleton 2014-07-14 23:41:47 +02:00
Vincent Lejeune
62bf54b8f3 Simplify displace handling
Should be faster now
2014-07-14 18:54:40 +02:00
Vincent Lejeune
f2acac7230 Inadverly inverted shadow and shadow_grass.vert 2014-07-13 21:37:12 +02:00
Vincent Lejeune
54b1ce39e4 Add Grass shadows.
For non instancing object.
2014-07-13 21:33:44 +02:00
Vincent Lejeune
7b9fc60f9c Factorise grass material 2014-07-13 18:56:17 +02:00
Vincent Lejeune
55a5185796 Avoid drawing negative color with splatting material. 2014-07-12 21:25:11 +02:00
Vincent Lejeune
d7139920ed Fix position reconstruction formula in ssao 2014-07-12 19:54:52 +02:00
vlj
822c8725dd Remove rimlight material 2014-07-10 01:02:52 +02:00
vlj
481a5bd0d0 Fix bubble shader with glsl < 330. 2014-07-09 17:49:47 +02:00
vlj
4c3db6ca59 Mix texture for displace. 2014-07-09 03:41:08 +02:00
Vincent Lejeune
ac55a70c83 Mimic previous motion blur behavior
Depending on zypper + mask on center.
2014-07-09 02:29:49 +02:00
Vincent Lejeune
aec31b28dd Merge remote-tracking branch 'origin/VAOGatherer' 2014-07-09 02:17:25 +02:00
samuncle
1ecaea18b2 Add a fade out to avoid bokeh on distant objects (stars, moon, planet, background mountain) 2014-07-09 01:21:31 +02:00
vlj
6276cafba2 Use global VAO for rendering 2014-07-08 18:31:46 +02:00
Vincent Lejeune
d961a9a8bc Fix vertex color for object_pass2 2014-07-08 01:35:04 +02:00
Vincent Lejeune
746e910e46 Remove some Motion Blur unused vars 2014-07-07 19:25:41 +02:00
Vincent Lejeune
f23f7b05e5 Turn motion blur into camera space motion blur 2014-07-07 18:44:25 +02:00
vlj
fd5061057d Fix for instanced object with default material. 2014-07-02 22:37:51 +02:00
vlj
d5c91dcfe4 Remove Untextured material. 2014-07-02 22:37:51 +02:00
vlj
475d738d4b Merge remote-tracking branch 'origin/NewRTTMinimap' 2014-07-02 00:24:03 +02:00
vlj
b861c3fb73 Use fixed attribute location for instanced objects. 2014-06-29 22:19:10 +02:00
vlj
bc7e2cd517 Some cleanups 2014-06-29 16:26:12 +02:00
Vincent Lejeune
8f59d8cac0 Add a weight for vignette. 2014-06-28 00:20:44 +02:00
vlj
bde17a28d5 Fix for GL 3.1 context 2014-06-27 20:58:52 +02:00
Marianne Gagnon
394fb9be9b Merge branch 'master' into NewRTTMinimap 2014-06-26 20:23:02 -04:00
vlj
79838bffe3 Add 50% transparency to minimap. 2014-06-26 00:46:55 +02:00
vlj
a93b96d0b1 Use UBO matrixes in displace. 2014-06-25 01:22:03 +02:00
vlj
8e6fba3185 Some fixes 2014-06-24 23:57:29 +02:00
vlj
948c5e8aa2 Use explicit attribute location.
Should help implementing basevertex later, and simplify vao creation a
lot.
2014-06-24 23:17:41 +02:00
vlj
edc38c9933 Use object_pass.vert for transparent objects. 2014-06-24 22:20:01 +02:00
vlj
d2fc258124 Tweak ssao (again)
Random factor is less perdicable, no more spiral.
2014-06-23 01:03:55 +02:00
vlj
f76cd6e7a9 Implement bilateral with fragment codepath. 2014-06-22 18:04:46 +02:00
vlj
8f5dd6edae Some tweak to ssao. 2014-06-22 18:04:46 +02:00
Vincent Lejeune
3219e564d0 Implemented bilateral for compute path. 2014-06-22 18:04:45 +02:00
vlj
7e8486d670 Merge remote-tracking branch 'origin/shadowdebug' 2014-06-22 02:21:15 +02:00
Vincent Lejeune
71969acd22 Use a precomputed invmatrix in gi.frag
(General) matrix inversion is costly, it's better if it's done a single
time on cpu. Improve performance.
2014-06-20 23:10:31 +02:00
Vincent Lejeune
32e6942b55 Merge branch 'master' into shadowdebug 2014-06-18 01:02:51 +02:00
Vincent Lejeune
e2ef26e667 Add wireframe frustrum view. 2014-06-18 00:27:03 +02:00
hiker
f1c8fcc6d4 Fix 1366. 2014-06-15 22:14:50 +10:00
samuncle
08369d1fcb Added a new particle system for the torches and bring back the vignette 2014-06-14 00:42:57 +02:00
hiker
89d8a19dab Fixed shader compilation errors. 2014-06-11 09:11:07 +10:00
vlj
8cbeca44fd Add a way to display shadow map. 2014-06-08 22:18:32 +02:00
vlj
e959d6c857 MLAA: Use srgb for auxiliary buffer. 2014-06-08 03:28:24 +02:00
vlj
9bc89e0f40 Lower MLAA threshold. 2014-06-08 03:06:20 +02:00
vlj
588ec08bc1 Merge branch 'CS' 2014-06-05 03:33:02 +02:00
vlj
eb45954684 Implement Gaussian blur using Compute Shader
The filters are ~3.5 time faster with CS.
2014-06-05 03:19:18 +02:00
Vincent Lejeune
cead5081be Fix MLAA 2014-06-05 02:56:25 +02:00
Vincent Lejeune
5f1413e140 Merge branch 'master' into NewRTTWidget 2014-06-05 01:30:45 +02:00
vlj
f0b3cbfcd0 Gather bloom effect to avoid extra texture read.
I have a .5ms win here...
2014-06-03 20:46:01 +02:00
vlj
55ddffaf54 Another round of big triangle port. 2014-06-03 20:28:42 +02:00
vlj
e5a5c78045 Use a big triangle instead of 2 to cover full screen.
This allows to rasterize a single primitive instead of two, and avoid
trashing the cache between the 2 triangles drawing.
2014-06-03 19:56:59 +02:00
vlj
d4fe539385 Do not write specular value in gi/diffuseenvmap 2014-06-03 17:40:21 +02:00
vlj
e571afc43b Speed up SSAO again
Use log2(xy) = log2(x) + log2(y), and approximate log2(alpha) =
log2(previous alpha) + .5.
Log2 is indeed a costly instruction.
2014-06-03 03:41:05 +02:00
vlj
164ffa2b4f Spped up SSAO
Avoid using cos/sin too much, use sum of cos/sin formula instead.
2014-06-03 03:14:39 +02:00
Vincent Lejeune
44f70454ad Fix dof overwriting alpha value. 2014-05-30 02:32:01 +02:00
Marianne Gagnon
7e9252e5b3 Merge branch 'master' into NewRTTWidget 2014-05-29 20:00:58 -04:00
vlj
40df4afc74 Support some debug option for GI 2014-05-28 07:47:06 +02:00
vlj
af16682a9e Add GI support 2014-05-28 07:47:06 +02:00
Vincent Lejeune
5caf028a71 Add RH support 2014-05-28 07:47:06 +02:00
Vincent Lejeune
180bd939e0 Add RSM support 2014-05-28 07:47:06 +02:00
vlj
2cf9bb6d2c Use UBO in MLAA 2014-05-25 03:21:08 +02:00
vlj
670c25dd26 Return alpha value in tonemap. 2014-05-25 03:13:19 +02:00
samuncle
bffc615a49 Tweak the scattering value to reduce the effect 2014-05-21 02:36:48 +02:00
Stephen Just
f4992b80fc Fix errors when compiling shaders with UBOs disabled 2014-05-19 09:57:31 -06:00
Vincent Lejeune
0ccac4c552 Forget to remove some unused shaders. 2014-05-18 19:59:03 +02:00
Vincent Lejeune
eca3999d52 Do some cleaning 2014-05-18 19:56:25 +02:00
Vincent Lejeune
838b44fc00 Remove Cautics effect
It's not used anywhere and I have no way to test it so it's useless.
2014-05-18 19:28:53 +02:00
vlj
32b2359f21 Spheremap: Flip y and add light. 2014-05-18 03:39:53 +02:00
vlj
a2e1724389 Use correct mapping for spheremap 2014-05-18 03:19:18 +02:00
vlj
dc7e6cb99f Revert to spheremapped reflection 2014-05-18 03:01:24 +02:00
vlj
9c98012e09 Fix dof and transparent fog. 2014-05-17 03:09:21 +02:00
vlj
883b39591f Width and height are passed by UBO 2014-05-17 02:39:55 +02:00
vlj
229b461a6c SSAO: Less abrupt transition 2014-05-14 03:26:43 +02:00
vlj
1d4bcd5ade SSAO: Increase beta constant to avoid error 2014-05-14 02:27:17 +02:00
vlj
86c8b9f83d Some tweaking to make ssao more apparent 2014-05-14 02:12:18 +02:00
vlj
0ccac5d316 Replace texture2D by texture in dof.frag 2014-05-14 00:59:51 +02:00
Vincent Lejeune
59484ea09a DS buffer is not linear and cant be mipmapped
Use the method provided by SAO paper (ie convert to linear and then
mipmap)
2014-05-13 19:40:30 +02:00
vlj
26d48cdad0 SSAO: Stronger blur + tweak param
Use another algorithm to have gaussian blur that lets us customise
radius more easily.
2014-05-12 23:59:17 +02:00
vlj
bba9e3ca2c Add a 17 tap blur filter
and use it for SSAO
2014-05-12 20:49:47 +02:00
vlj
8e17ae90b6 Resolution independent ssao 2014-05-12 20:13:12 +02:00
Vincent Lejeune
96babc81ad Reenable custom light radius 2014-05-12 19:37:00 +02:00
vlj
23ba597a1c SSAO: Use int rounding 2014-05-12 18:39:33 +02:00
vlj
229b72f84a Render SSAO at fullscreen resolution. 2014-05-12 01:06:33 +02:00
vlj
4fcec02123 Remove ssao depth guard. 2014-05-12 00:34:44 +02:00
vlj
7e1625da5e Tweak SSAO params. 2014-05-12 00:30:36 +02:00
vlj
f8544493b6 Improve SSAO perf 2014-05-12 00:14:50 +02:00
vlj
11b7d20ad8 Use the mipmap trick to speed up ssao. 2014-05-12 00:03:42 +02:00
Vincent Lejeune
567974aeed Use dFdX/dFdY to compute normals in SSAO. 2014-05-11 18:09:48 +02:00
Vincent Lejeune
e5410e23a2 Use Alchemy SSAO 2014-05-11 18:00:30 +02:00
Vincent Lejeune
648d076e00 Premultiply alpha for particles too. 2014-05-10 20:58:43 +02:00
Vincent Lejeune
6936f30b36 Premultiply alpha for billboards. 2014-05-10 20:49:30 +02:00
Vincent Lejeune
a73f03a2c4 Make use of gl_amd_vertex_shader_layer when available 2014-05-08 01:16:02 +02:00
vlj
fd7399d983 Use instancing to expand shadows instead of GS 2014-05-07 23:57:07 +02:00
Stephen Just
efb85943d1 Fix for #1297. DoF shader compiles in mesa now. The other problem noted
in the issue was just texture compression + intel.
2014-05-05 07:59:20 -06:00