Commit Graph

136 Commits

Author SHA1 Message Date
sfan5
a6293b9861 Initial refactoring on shader usage and generation
`IShaderSource` was designed with the idea that if you want a shader,
you must want it for a node. So it depends heavily on being given a tile
material and the node drawtype. But this doesn't make sense neither in theory
nor in practice.
This commit takes a small step towards removing the incorrect abstraction.
2024-12-20 15:04:08 +01:00
lhofhansl
8c56434bd3
Clamp pre-bloom color to valid range (#15453)
That avoids flashing artifacts when combining MSAA and bloom.
2024-11-25 11:56:32 -08:00
sfan5
d6da80fe24 Fix vertex color on OpenGL 3
closes #14985
2024-09-28 12:09:58 +02:00
GefullteTaubenbrust2
d8f1daac25
Visual Effects Vol. 1 (#14610)
This PR adds a variety of effects to enhance the visual experience.

    "soft" clouds look
    Tinted shadows
    Crude water reflections (sky and sun) and waves
    Translucent foliage
    Node specular highlights
    Adjusted fog color (more saturated where the fog is lighter)
    Minor changes to volumetric lighting (crudely simulates the effect of depth)

Co-authored-by: sfan5 <sfan5@live.de>
2024-09-24 11:14:27 -07:00
grorp
70e169f165
Drop fixed pipeline lighting stuff (#15165) 2024-09-18 12:18:28 +02:00
sfan5
6f275e2ba0 Remove dead code in COpenGL3MaterialBaseCB 2024-09-16 23:12:52 +02:00
sfan5
e90ef85e7d Fix texture matrix handling in our shaders 2024-09-07 14:23:37 +02:00
sfan5
b010714426
[no sq] Move shaders & remove dead Irrlicht tests (#15006)
* Move irrlicht shaders to correct place

* Remove unused Irrlicht tests
2024-08-19 09:17:52 +02:00
cx384
03e600a721 Fix whitespaces 2024-08-17 21:02:54 +02:00
grorp
6c0b8229ec
Fix artifacts with bloom + tonemapping on ogles2 (#14688) 2024-05-23 20:36:13 +02:00
sfan5
a9a0f1e129
Fix GLES shader precision issues (#14516) 2024-04-05 13:00:10 +02:00
sfan5
ff88ed7c75 Add symlink for Irrlicht shaders 2024-04-03 13:56:27 +02:00
sfan5
bb7f57b095 VBO-related optimizations and improvements (#14395) 2024-02-29 17:20:57 +01:00
sfan5
9e3a11534f
Allow fog color to be overriden properly (#14296) 2024-01-23 22:33:33 +01:00
DS
e9233bc169
Fix typo in minimap bumpmapping shader (#14280) 2024-01-20 15:36:53 +01:00
Vitaliy
8093044f07
Support OpenGL 3 (#13321) 2024-01-16 21:09:18 +01:00
ROllerozxa
8e9d7611ae Apply saturation even if tonemapping is disabled 2024-01-03 21:55:53 +01:00
ROllerozxa
de4cc5c20a Fix tonemapping effect 2024-01-03 21:55:53 +01:00
Lars
e0d4a9d575 Make volumetric light effect strength server controllable
- Make volumetric light effect strength server controllable
- Separate volumetric and bloom shader pipeline
- Require bloom to be enable, scale godrays with bloom
2023-12-21 16:21:01 -08:00
x2048
04f0d545da Initial implementation of 'Godrays' 2023-12-21 16:21:01 -08:00
HybridDog
b1aec1b5c8
Add dithering (#9014) 2023-12-19 20:18:11 +01:00
lhofhansl
0ade097e99
Allow the server to control fog_distance and fog_start via the sky-api (#13448) 2023-06-30 19:11:17 -07:00
x2048
c09a3a52ac
Add antialiasing filters (FXAA, SSAA) (#13253) 2023-06-28 05:30:08 +02:00
Thresher
180ec92ef9
Remove trailing whitespace (#13505) 2023-05-18 20:34:18 +02:00
x2048
1de8a1e962
Fix missing shadows when sun tilt is zero 2023-03-11 13:49:40 +01:00
x2048
4cd6b773bb
Fix no color values on bloom texture (#13197)
Align meaning of 'exposure' variable across different stages
Put 'exposure' variable behind ENABLE_AUTO_EXPOSURE
2023-02-10 21:04:37 +01:00
x2048
6d45c243f8
Add dynamic exposure correction (#12959)
* Add uniform for frame delta time
* Adjust exposure in logarithmic (EV) space
* Add network support and LUA API
* Add testing mod
2023-01-06 22:33:25 +01:00
lhofhansl
7bf64fc61a
Add configurable saturation (#12865)
* Add configurable saturation

Co-authored-by: Pevernow <3450354617@qq.com>
Co-authored-by: x2048 <codeforsmile@gmail.com>

Author:    Lars <larsh@apache.org>
2022-11-18 11:49:52 -08:00
Abdou-31
d1b80b462e
Fix typos and en_US/en_GB inconsistency in various files (#12902) 2022-11-09 11:57:19 -05:00
x2048
957a3e52fe Return correct variable when debugging bloom.
Fixes #12922
2022-11-03 08:43:31 +01:00
x2048
9b24041394
Improve bloom effect (#12916)
* Remove the built-in exposure factor of 2.5
* Add physics-based bloom (https://learnopengl.com/Guest-Articles/2022/Phys.-Based-Bloom)
* Add luminance scaling for bloom layer to simulate HDR
* Add setting to control bloom strength
2022-11-02 09:09:48 +01:00
sfan5
7a28f2c4fa Fix tone mapping being always enabled
broke in 579fc93c24b030e33a6255d96e773706f6e99c93
2022-10-09 19:11:04 +02:00
x2048
579fc93c24
Make bloom shaders compatible with GLES2 (#12834)
Co-authored-by: Muhammad Rifqi Priyo Susanto <muhammadrifqipriyosusanto@gmail.com>
2022-10-04 13:52:56 +01:00
x2048
9df79a4b2d
Bloom (#12791)
Adds configurable light exposure control and bloom effect (light bleeding) with client-side settings.
2022-09-29 20:34:05 +02:00
x2048
ff6dcfea82
Implement rendering pipeline and post-processing (#12465)
Co-authored-by: Lars Mueller <appgurulars@gmx.de>
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: lhofhansl <lhofhansl@yahoo.com>
2022-09-06 08:25:18 +02:00
DS
df1d215f48
Node vertex shader: Properly use the waved world position (#12665) 2022-08-10 18:04:12 +02:00
x2048
dc45b85a54
Improve shadow filters (#12195)
* Rewrite shadow filtering for the new distortion
* Calculate penumbra radius using a single sample
* Avoid peter-panning effect due to filtering of short shadows
* Add adaptive filter quality for soft shadows
* Avoid sharp shadows on surfaces without normals (e.g. plants)
* Increase default and maximum soft shadow radius
* Make line numbers in shader errors match the code
2022-05-21 16:49:30 +02:00
x2048
a5d29fa1d4
Implement shadow offsets for the new SM distortion function (#12191)
* Move shadow position calculation to vertex shaders
* Animate entire scene before rendering shadows to prevent lagging of shadows
* Remove unnecessary use of PolygonOffsetFactor
* Apply normal offset to both nodes and objects
* Rename getPerspectiveFactor -> applyPerspectiveDistortion
* Remove perspective distortion from fragment shaders
2022-04-14 22:49:30 +02:00
ShadowNinja
7993909fab Spacing fixes 2022-04-08 14:55:21 +01:00
x2048
48f7c5603e
Adjust shadowmap distortion to use entire SM texture (#12166) 2022-04-07 22:13:50 +02:00
x2048
31578303a4
Tune shadow perspective distortion (#12146)
* Pass perspective distortion parameters as uniforms
* Set all perspective bias parameters via ShadowRenderer
* Recalibrate perspective distortion and shadow range to render less shadow geometry with the same quality and observed shadow distance
2022-03-31 22:40:06 +02:00
x2048
0f25fa7af6
Add API to control shadow intensity from the game/mod (#11944)
* Also Disable shadows when sun/moon is hidden. Fixes #11972.
2022-03-26 16:58:26 +01:00
Dmitry Kostenko
b651bbf446 Reuse normal offset calculation for nodes 2022-03-07 23:45:26 +01:00
Dmitry Kostenko
4801bdf45a Correct normal bias for entities
Remove use of magic constants.
Apply cameraOffset
Calculate distance projected on SM plane
2022-03-07 23:45:26 +01:00
Dmitry Kostenko
25c1974e0d Change normal bias for entities to avoid shadow acne 2022-03-07 23:45:26 +01:00
Dmitry Kostenko
12896b22d8 Remove debugging code 2022-03-07 23:45:26 +01:00
Dmitry Kostenko
e531c59606 Ensure nightRatio is greater than zero in object shader 2022-03-07 23:45:26 +01:00
Dmitry Kostenko
97cb404822 Apply texture matrix when rendering shadowmap
Fixes shadows of animated sprite entities
2022-03-07 23:45:26 +01:00
Dmitry Kostenko
a684a91bf5 Fix shadow rendering with filtering disabled 2022-03-07 23:45:26 +01:00
Dmitry Kostenko
54dccc480e Improve lighting of entities.
Pass correct natural & artificial light to the shaders
Use natural/artificial light ratio for correct rendering of shadows
2022-03-07 23:45:26 +01:00