Commit Graph

858 Commits

Author SHA1 Message Date
samuncle
13d121e45d remove dead code 2019-06-24 23:33:03 +02:00
samuncle
cb8f9ecf43 Minor changes 2019-06-24 23:33:03 +02:00
samuncle
025001993d Add space screen reflexion shader 2019-06-24 23:33:03 +02:00
Benau
53f4863e43 Revert "Fix bug with PBR roughness (was working in metal but not plastic materials"
This reverts commit ddd80c1715.
2019-04-04 01:15:05 +08:00
samuncle
ddd80c1715 Fix bug with PBR roughness (was working in metal but not plastic materials 2019-03-14 19:57:28 +01:00
Deve
14389925fe Minor optimization in pointlight scatter.
Compute some values before loop.
2018-12-23 23:31:22 +01:00
Benau
b3e41db14b Add EMT_STK_GRASS for GLES2 to draw grass material without vertex color
Now EMT_TRANSPARENT_ALPHA_CHANNEL_REF in GLES2 can be used with vertex
color
2018-11-30 23:33:30 +08:00
Benau
c10b40fb7d Use a special detail map shader for normal map (later) 2018-09-14 22:51:44 +08:00
Benau
ba37513f7a Fix detail map on normal map with skinned mesh shader 2018-09-09 00:52:00 +08:00
samuncle
b8ce2da3f3 Add more utilities to default shader function + make the road shader more optimized 2018-08-13 18:46:00 +02:00
Deve
9ad3ba1fe2 Allow to use skinning without tbo 2018-06-22 23:48:00 +02:00
Benau
3772045f99 Fix GLES 2018-04-20 17:01:59 +08:00
Benau
f8323b9ad1 Remove unneeded skinned mesh shader for road blending shader 2018-04-19 11:49:38 +08:00
samuncle
50e433afca Add shader specialized for roads, still some stuff to be tuned 2018-04-15 09:37:55 +02:00
Benau
ef2f12f568 Remove unneeded skinned mesh version for tilling and vertical mapping shader 2018-04-12 16:35:25 +08:00
Benau
3742adf5ee Use 2 digits for shader order 2018-04-12 16:31:01 +08:00
Benau
295c793f91 Use 4 32bit floats for quaternion for sam's wall 2018-04-12 16:27:48 +08:00
samuncle
434f74b4ac Add vertical / horizontal mapping for snow, sand, moss, etc (everything going on top of something) 2018-04-07 22:16:43 +02:00
samuncle
daf4721fa9 Add a mitigation for tilling textures. Very usefull for terrains, etc 2018-04-07 04:11:11 +02:00
samuncle
32016f0118 Add tilling mitigation shader 2018-04-06 16:25:39 +02:00
samuncle
7db4ef8056 Add a shader to use the day/night cycle for lamps, etc 2018-02-27 23:38:28 +01:00
Benau
0e5b7b532c Further boost stk by writing 1 less framebuffer attachment
Now we can get determine the background color by depth, so
the alpha tricks in diffuse color fbo is not necessary

And using rgba8 to pack normal doesn't seem to cause visual glitches.
2018-02-07 12:49:45 +08:00
samuncle
704fe3e32a Fix a bug in the emissive contribution. Now there is a bigger range of value for bloom 2018-02-06 23:15:21 +01:00
Benau
ac8294abdb Clean up debug visualization
Allow toggle (triangle) normal / (bi)tangent / wireframe separately
2018-02-03 13:14:15 +08:00
Benau
a2052b77b9 Remove unneeded flat out
We can share the same uniform name, esp flat out is not working
for my adreno 306 in android 5.0
2018-02-03 00:21:59 +08:00
Benau
e3483fccbe Unroll the skinned mesh shader for loop
This give some fps improvement for adreno 306 in android 5.0
2018-02-02 21:59:13 +08:00
Benau
e4c827176a Remove flat for hue_change
It causes bad rendering in adreno 306 in android 5.0
2018-02-02 21:17:24 +08:00
Benau
e06fabde96 Clean up alpha test and unlit shader
Remove 1 wrong line in alpha test shader
2018-02-01 11:26:58 +08:00
Benau
154ad8d0db Fix skybox blending with light scatter 2018-01-31 01:31:12 +08:00
Benau
9e57bfb73f Split point light scatter so it can be combined together 2018-01-30 13:42:50 +08:00
Benau
11f9b74e13 Don't use out variable in vertex shader 2018-01-28 15:28:20 +08:00
Sam
c4b42c1852 Add layer of abstraction to output pbrData 2018-01-26 20:16:16 +01:00
Sam
e75f1cb799 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-01-26 10:52:23 +01:00
Benau
97fd634ed8 Allow auto-add usable uniforms to shader 2018-01-26 16:02:31 +08:00
Benau
ff38cb6423 Clean up advanced pipeline off code
Don't use RTT at all in game when it's off
2018-01-25 15:36:34 +08:00
Sam
37a6f464b9 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-01-24 21:51:11 +01:00
Benau
e5cdf3a086 Remove all unneed gamma correction when advanced pipeline off
Except for the colorization stuff
2018-01-23 01:16:45 +08:00
Benau
86393ba0a9 Use alphatest as a fallback shader for unlit
Adjust graph shader when advanced pipeline off, and no srgb prefilled
texture when advanced pipeline off
2018-01-22 13:27:21 +08:00
Benau
45957af6f8 Remove !sRGB in shader which is always true now
Also don't use tonemap in RTT
2018-01-22 12:54:39 +08:00
Benau
4025883243 Use sampleTextureLayer in shader files 2018-01-22 10:43:22 +08:00
Benau
390554eca1 Add xml shader and the loader 2018-01-21 13:19:00 +08:00
Sam
6abd79dde6 Add the world position in default information avaliable to shaders 2018-01-14 10:39:16 +01:00
Benau
24308ced03 Remove features in SP that give no performance boost at all
gl_Layer in vertex shader, bindless and array textures
2018-01-13 14:49:33 +08:00
Benau
68e8da2353 Remove all unused shaders 2018-01-12 19:10:55 +08:00
Benau
76788d7dd8 Fix GLES 2018-01-07 15:44:57 +08:00
Benau
e1c7efd68c Add sam's formula for pbr 2018-01-05 16:45:33 +08:00
Benau
cce8abe6f3 Port billboard text 2017-12-30 15:28:04 +08:00
Benau
d71ea71e35 Remove some ifdef 2017-12-29 18:10:51 +08:00
Benau
711fb8211a Add samuncle way to sample texture slot 2017-12-29 15:39:22 +08:00
Benau
f040be710e Fix normal visualizer 2017-12-29 00:52:29 +08:00
Benau
62e0effed6 Rename input variables 2017-12-27 12:31:21 +08:00
Benau
dbc3cd5ff5 Normalize in shader for broken drivers 2017-12-27 11:33:30 +08:00
Benau
891b053358 Add more functions to normal visualizer 2017-12-27 01:33:21 +08:00
Benau
ce45605c18 Use half float for texture matrix 2017-12-26 15:28:01 +08:00
Benau
daf1294e6f Add minimap and adjust unlit shader for it 2017-12-26 14:34:34 +08:00
Benau
7797115867 Add SP for correct normal and easier shader system 2017-12-25 14:00:10 +08:00
Deve
f7886a31bf Better fix for shadow acne 2017-10-29 20:26:46 +01:00
Benau
fc2e05c0a6 Use a trick to make skinned mesh shader branchless 2017-10-22 13:03:45 +08:00
Benau
7252a38da1 Fix skinning glitches possible in (some) cards 2017-10-22 02:17:37 +08:00
Benau
6a79d204c1 Don't use SSBO for skinning
It causes trouble in hd5670 in windows
2017-10-22 01:31:15 +08:00
Benau
8a0232382a Some fixes for some shader compiler 2017-10-20 09:25:43 +08:00
Benau
553b2439ac Allow using SSBO for skinning if supported 2017-10-20 01:27:44 +08:00
Benau
0d96906d54 Use texture buffer (texture2d in gles) for skinning 2017-10-19 13:31:07 +08:00
Benau
9f10676dd3 Remove unused billboard shader 2017-10-16 07:43:00 +08:00
Benau
4573e51e98 Fix #2427 2017-10-15 19:14:07 +08:00
Benau
058f9163db Some work to make particle shader able to render billboard
The lifetime in height map stimulation will always now < 1.0f
2017-10-15 13:57:01 +08:00
Benau
c3a22ddcf7 Pre-generate some particles if max count is small 2017-10-14 14:42:24 +08:00
Benau
a0c9ba2b8c Pack mixed color into instanced array
With half-floats for lifetime and size for same stride
2017-10-14 12:33:08 +08:00
Benau
0b9a3e1c69 Fix some issues found in first-try 2017-10-14 09:47:13 +08:00
Benau
0066722dab Features completed cpu particle 2017-10-14 00:19:59 +08:00
Deve
63ecbefbdd I forgot about particles 2017-10-12 22:55:26 +02:00
Deve
ae4e302741 Add a way to run STK without srgb framebuffer 2017-10-09 21:18:15 +02:00
Deve
bc84559f1d Revert a hack for shadows.
It helps for horizontal surfaces, but makes vertical surfaces worse (for example rocks in cornfield crossing), so it's not really a solution.
2017-10-04 22:19:19 +02:00
Deve
27a79526b1 Allow to use particles heightmap simulation in GLES 2017-10-02 23:05:12 +02:00
Deve
6f11a1669f Make particles in GLES renderer to look a bit better.
Now kart exhaust is not too dark anymore.
2017-09-02 01:01:35 +02:00
Benau
850afc8620 Allow using animated texture with displace shader
Plus some clean-up
2017-08-23 00:55:25 +08:00
Benau
cc8331f5cd Fix #2897 2017-08-09 15:03:37 +08:00
Benau
79c6705bb1 Fix #2814 2017-08-09 13:00:09 +08:00
Deve
bc6ff38b22 Simplify light factor when advanced lighting is disabled.
In this case only diffuseMatColor really matters, other values are constant.

It improves performance on GLES renderer and it's also noticeably faster for GL on desktop.
For example:
- fps increased for me from 60 to 69 on Hacienda with intel HD 4000
- from 43 to 49 on lighthouse

There is much less difference on nvidia graphics card, but still it gives small performance improvement.
2017-08-06 22:18:18 +02:00
Deve
d44802a482 Add a workaround for some qualcomm devices on android 4.4 2017-07-11 00:37:31 +02:00
Benau
8653d410f8 Option 1 for fixing android 4.4
Reinit vertex attribute pointer each time, performance may hurt
2017-07-09 00:46:42 +08:00
Deve
af98b526d6 Give few more fps in GLES renderer by pre-computing diffuse/specular color 2017-03-28 22:15:33 +02:00
Deve
a7f0d3762c Some fixes for GLES renderer.
- Don't use BGRA format at all. It doesn't work with non-typical cases (i.e. with srgb or compressed textures) and also casues artifacts on some android devices. I kept the extension in central settings, but it probably won't be used.
- Use sRGB texture format when advanced lighting is enabled. This makes it closer to the original OpenGL renderer and also avoids to have even more #ifdef's for sRGB conversions.
- Keep RGBA textures for non-advanced lighting to make it simpler.

Now advanced lighting in GLES looks almost the same as in OpenGL 3.x (without shadows/GI)
2017-03-25 22:23:46 +01:00
Sam
97670ed23c Improved wind effect for vegetation 2017-03-12 21:35:48 +01:00
Deve
adfa8f30f9 Better fix for missing transparency in GLES legacy pipeline 2017-03-08 23:17:03 +01:00
Deve
11024569b0 More tweaks to GLES legacy pipeline 2017-03-02 22:19:10 +01:00
deve
82e724c12e One more fix for GLES legacy pipeline 2017-02-27 06:41:26 +01:00
Deve
40fe3585bb One more fix for legacy pipeline in GLES renderer.
It looks that the second texture is not used at all and it may cause a crash, so just disable it.
2017-02-27 00:58:43 +01:00
Benau
c635e8d1c4 Get rid of some srgb conversion in shader, see #2787 2017-02-13 10:06:35 +08:00
Deve
68a99fd38b Fixed sRGB for GLES renderer.
It's a bit ugly solution because we should handle it properly in one place and not add another sRGB correction... But it's already working solution and it doesn't affect the OpenGL renderer, so we can use it until better fix will be done.
Now the GLES renderer looks almost the same as the original OpenGL 3.x one :)
2017-02-11 23:56:44 +01:00
Deve
5df2531a65 Added a hack that removes ugly lines when shadows are enabled.
Mathematically it's not 100% correct, but it looks much better.
2017-02-07 21:48:50 +01:00
Deve
28d85d7ba3 Use explicit attrib location when the extension is available.
It allows to enable it easily in GLES renderer. And we check if this extension is available anyway because it's needed for shadows, so we can use it for other shaders too.
2017-02-01 21:58:10 +01:00
samuncle
e86e146442 Add emit map to a shader, so cars in candela are like small dots 2017-01-20 00:06:35 -05:00
samuncle
b9dd867c86 Use gamma corrected decal 2017-01-14 09:41:29 -05:00
Deve
6a16f23132 Fixed GLES 2016-12-31 03:41:37 +01:00
samuncle
b669382b93 Change the detail map to a more usefull decal shader. Now we can add easily details to texture 2016-12-28 10:23:07 -05:00
Deve
424b62552e Fixed MLAA in GLES renderer.
This function was used by Cand for his OpenGL 2.1 renderer. The round function is available since GLSL 1.3 (OpenGL 3.0), so there is no need to override it.
If it will be needed in future, I suggest to change the name to round_stk or something similar.
2016-12-23 15:12:16 +01:00
Benau
15d6c7207a Minor improvements for non-instanced shaders 2016-12-23 19:22:30 +08:00
Benau
d932451295 Don't out a interpolated color change
It will should be determined by colorization mask in fragment shader
2016-12-23 11:38:32 +08:00
Benau
f7e2122b79 Allow drawing instanced glow color without explicit location 2016-12-23 10:36:35 +08:00