Commit Graph

455 Commits

Author SHA1 Message Date
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
Vincent Lejeune
d316263660 Tweak light extent again to improve perf 2014-05-05 01:46:57 +02:00
Vincent Lejeune
d6d7c6179c Simplify pointlight.vert 2014-05-04 19:46:21 +02:00
Vincent Lejeune
94ae8fb21e Use a more tighly fitting quad for pointlights. 2014-05-04 19:21:09 +02:00
vlj
35df307c3f Tweak light extend. 2014-05-03 23:44:27 +02:00
vlj
5e62347d11 Fix attempt for #1308 2014-05-03 17:36:27 +02:00
vlj
2a1623d8ca Use a more efficient screen to view conversion
Also use the opportunity to use UBO where possible.
2014-05-02 18:11:34 +02:00
vlj
2f1578ba32 Potential fix for #1305 2014-05-02 13:54:23 +02:00
Vincent Lejeune
18aa119890 Tweak light attenuation.
Doesnt really change the look of the light but reduce their extent.
2014-04-27 18:31:00 +02:00
Vincent Lejeune
9ac57c3919 Tigher fit of light extent 2014-04-27 18:04:39 +02:00
Marianne Gagnon
924e09b3e9 Very slight tweak 2014-04-25 20:02:16 -04:00
vlj
2ca11c3166 Auria provided tonemap coefficients 2014-04-26 02:00:50 +02:00
vlj
3e4254b3a7 Tonemap: Use J. Hable filmic operator
It gives better result on stk enterprise, slightly saturating blacks.
2014-04-25 17:57:10 +02:00
Vincent Lejeune
84ddd7119e Use glPolygonOffset to remove shadow acne
It's a 2002 trick from M. Kilgard
2014-04-24 21:02:24 +02:00
vlj
85e720a58f Shadow: tweak bias to remove acnee 2014-04-24 18:33:05 +02:00
vlj
ef07b25202 Make possible to tweak exposure/lwhite in adm 2014-04-24 17:47:17 +02:00
samuncle
ba3cce6046 Limit the DoF influence 2014-04-24 02:44:34 +02:00
vlj
b939d06be5 Properly add Depth of Field 2014-04-23 22:08:37 +02:00
vlj
fb56a4086f Fix normalmap roughness 2014-04-23 18:09:48 +02:00
Vincent Lejeune
eb0c948e41 Tweak exposure/whiepoint/saturation 2014-04-23 18:09:47 +02:00
Vincent Lejeune
da15aebcda SSAO: Clamp to 0. 2014-04-22 18:22:39 +02:00
Vincent Lejeune
6f16831d00 Revert "Some color are negative, clamp them in loglum"
This reverts commit 43df357cfb.
2014-04-22 18:18:18 +02:00
Vincent Lejeune
17ba0f515c Revert "Use some realist order of magnitude of light"
This reverts commit 2aa6676050.
2014-04-22 02:32:42 +02:00
Vincent Lejeune
b0e56ca2b0 Use some diffent value/equation for tonemap 2014-04-22 02:29:22 +02:00
vlj
2aa6676050 Use some realist order of magnitude of light 2014-04-21 19:40:10 +02:00
vlj
d7e3976ef5 Use a less intrusive delta value 2014-04-21 19:39:39 +02:00
vlj
43df357cfb Some color are negative, clamp them in loglum
I have yet to investigate how the pipeline can produce negative values
somewhere.
2014-04-21 19:29:13 +02:00
vlj
a0e63dea46 Enable tonemap. 2014-04-21 02:33:12 +02:00
vlj
2e1b0ac9f4 Avoid negative value when Yxy->RGB 2014-04-21 02:19:09 +02:00
vlj
8947242de4 Add proper tonemap, although disabled.
It currently generates way too much HDR.
2014-04-21 01:52:44 +02:00
vlj
878a639a84 Another ssao tweak. 2014-04-20 02:56:07 +02:00
vlj
e8b36f2490 Fix for shadow acne in chocolate. 2014-04-20 02:20:09 +02:00
vlj
87248b46f3 Tweak shadows CSM split. 2014-04-20 02:01:29 +02:00
vlj
1291d0cc93 Increase shadow fidelity. 2014-04-20 00:21:30 +02:00
vlj
a457b9f423 Shadows: Clean shaders. 2014-04-20 00:04:49 +02:00
vlj
dd3e15b298 Debug: display cascade in shadow debug mode 2014-04-19 23:57:27 +02:00
Vincent Lejeune
d7eaaf4885 Add a m_ubo_disabled switch in user config file.
This should be used to workaround a bug in intel windows drivers.
2014-04-19 18:38:57 +02:00
vlj
c695875654 PointLight: Use a 1/(1 + d + k d^2) attenuation
This is not physically accurate, but a 1/d^2 attenuation makes light
extend too broad, and went too high if close from the source.
2014-04-19 02:04:39 +02:00
Marianne Gagnon
e4afea5cca Reduce rimlight effect to a more reasonable strenght 2014-04-14 19:56:26 -04:00
Vincent Lejeune
5b47891514 Apply MLAA after color_in. 2014-04-14 03:30:42 +02:00
Vincent Lejeune
ba27eb42ef Bloom: Weight the different sized contribution. 2014-04-14 02:45:15 +02:00
Vincent Lejeune
59df5a90bc Bloom: Tweak the threshold. 2014-04-14 02:15:28 +02:00
Vincent Lejeune
123a192963 Use half res FBO for SSAO
SSAO is a medium frequency effect, using half res fbo is fine and
improve performance and look by doing an additionnal bilinear filtering.
Also tune up some values.
2014-04-14 01:01:36 +02:00
Vincent Lejeune
f98ff2a5fc Fix skid mark color
We convert the vertex color value to srgb, optimally the vertex color
should already be corrected on cpu side but it would break fallback
colors...
2014-04-13 18:00:15 +02:00
Vincent Lejeune
3cd85a829e Compress/convert to srgb per material basis.
This allows to remove manual conversion in normalmap shader.
2014-04-13 17:53:52 +02:00
Vincent Lejeune
59c50ebbdd Use ITexture instead of GLuint in GLMesh 2014-04-12 22:33:27 +02:00
vlj
42482e0c41 Some more conversion 2014-04-10 23:03:57 +02:00
vlj
3a55bbe796 Generalize use of UBO. 2014-04-10 21:16:44 +02:00
Vincent Lejeune
9ba636f661 Gather View Projection and shadows matrix generation. 2014-04-10 21:16:42 +02:00
Vincent Lejeune
55489bc188 Use UBO instead of copying Shadow VP matrixes. 2014-04-08 21:45:04 +02:00
Vincent Lejeune
eb0dfb4530 Bigger light extend wrt energy. 2014-04-07 22:20:43 +02:00
vlj
e00ce85d7c Support FresnelSchlick factor. 2014-04-07 21:35:10 +02:00