Commit Graph

441 Commits

Author SHA1 Message Date
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
vlj
858c8c7605 Fix normalmap too 2014-04-07 21:35:10 +02:00
vlj
79c6424703 Use specularmap as glossiness map. 2014-04-07 21:35:09 +02:00
vlj
cafc07680a Use Blinn Phong model. 2014-04-07 21:35:09 +02:00
Vincent Lejeune
0b318b9c7e Improve quad's fit of pointlight extend 2014-04-07 21:04:03 +02:00
vlj
ca2b5a7237 Fix normal map and srgb 2014-04-07 01:03:14 +02:00
Vincent Lejeune
ca214230e3 MLAA: Load the right shader for step 2
No wonder why it didnt work as expected before...
2014-04-04 19:42:05 +02:00
vlj
6a3556b4ba Shaders'outputs use premultiplied alphas 2014-04-03 14:46:35 +02:00
vlj
8552ddae1c MLAA: Fix gamma in the shaders.
MLAA looks correct now.
2014-04-03 14:15:51 +02:00
Vincent Lejeune
964d9a25f1 Some port fixes for MLAA 2014-04-03 00:27:46 +02:00
Vincent Lejeune
33b44c8c97 Port MLAA to new pipeline. 2014-04-03 00:14:58 +02:00
Vincent Lejeune
26c797e79e Fix kart shadows. 2014-04-02 00:09:49 +02:00
Vincent Lejeune
5573ee4e34 Follow more closely Crysis subsurface scatt. 2014-04-01 23:35:32 +02:00
Vincent Lejeune
f41b737913 Merge grass_pass*.vert 2014-04-01 23:16:30 +02:00
Vincent Lejeune
23e5ec709d Add a fake subsurface scattering for grass. 2014-04-01 23:13:16 +02:00
vlj
0fb6515bca Instancing: Support for alpha ref shadow. 2014-03-31 22:06:37 +02:00
vlj
52018bbdea Instancing: Support shadow. 2014-03-31 21:52:42 +02:00
Vincent Lejeune
7ebeaa45e8 Some cleaning. 2014-03-31 20:04:34 +02:00
Vincent Lejeune
bb311618e3 Instancing: Add support for scale transformation. 2014-03-31 18:10:45 +02:00
Vincent Lejeune
33f31dbf30 Disable auto exposure for now. 2014-03-31 17:25:04 +02:00
vlj
251e7f669e Using formula from an article suggested by samuncle 2014-03-31 17:25:04 +02:00
vlj
af93a04987 Improve bright attenuation although not perfect 2014-03-31 17:25:03 +02:00
vlj
58615c0207 Plug in brightness adaptation 2014-03-31 17:25:03 +02:00
vlj
6e8b45a6d8 Add some code to average log luminance. 2014-03-31 17:25:02 +02:00
vlj
a2ab6fc80c Write a shader to convert CIE to RGB. 2014-03-31 17:25:01 +02:00
Vincent Lejeune
881d0b9954 Factorize luminance computation. 2014-03-31 17:24:53 +02:00
vlj
8fc383206f Improve ao and bloom. 2014-03-30 23:47:19 +02:00
vlj
0dae1cf911 Fix negative value that introduces a bug on nvidia 2014-03-30 21:57:01 +02:00
vlj
91c4e9de94 Fix orientations. 2014-03-29 02:19:08 +01:00
vlj
1bac60c48a Attempt to fix orientations. 2014-03-29 02:04:20 +01:00
vlj
f4eeb68fd4 Merge branch 'Instancing' 2014-03-29 01:22:57 +01:00
vlj
ca1a1e37d9 Fix normals for normal object. 2014-03-29 01:22:08 +01:00
vlj
81b1e9fb94 Move the wind portion into the world matrix
It should make the normal correct although I didnt notice any visual difference.
2014-03-28 02:39:20 +01:00
vlj
c70b9ba0f8 Explicitly build the inverse matrix
Some drivers does not support inverse function although they advertise
glsl 140 support, and it's faster  to do it manually as we know the
structure of the matrix.
2014-03-27 19:12:55 +01:00
vlj
3538fd46d2 Look like instance orientation was wrong. 2014-03-27 01:33:02 +01:00
Vincent Lejeune
1740407e1e Use GS instancing to speed up shadow gen a little. 2014-03-26 22:27:11 +01:00
Vincent Lejeune
f49dfbc51f Fix flip particle shader. 2014-03-26 20:58:13 +01:00
Vincent Lejeune
9f0620c122 Add a #define to switch between dof and non dof 2014-03-26 19:42:25 +01:00
vlj
8b652ababb Merge object_pass*.vert 2014-03-26 19:04:46 +01:00
vlj
ae5c7b8c3d Implement UI single color overload 2014-03-26 19:04:45 +01:00
vlj
71881ac64d Add orientation to grass material 2014-03-25 16:49:03 +01:00
vlj
a866b3f416 Add Grass material support for instancing. 2014-03-24 16:40:40 +01:00
Vincent Lejeune
5c8ef365a5 Merge instanced_object_pass vertex shaders. 2014-03-23 19:28:07 +01:00
Vincent Lejeune
5dd2d28134 Merge branch 'master' into Instancing 2014-03-23 19:20:23 +01:00
vlj
73755a3431 clamp overload was ambiguous. 2014-03-23 01:09:14 +01:00
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