6611c863bd
Use a smaller epsilon for omni and spot attenuation cutoff
...
We just want to avoid calculating shadows when the attenuation is zero, so we should use the smallest epsilon we can get away with
2025-01-31 17:08:23 -08:00
964cd6525e
Fix: Mass property particle shader error
2025-01-28 21:00:26 -05:00
5ac6bce58d
Merge pull request #102105 from clayjohn/SDFGI-unflip-normal
...
Avoid flipping normal based on facing direction when calculating SDF
2025-01-28 09:03:34 -06:00
a525e30c27
Avoid flipping normal based on facing direction when calculation SDF. This shader runs for multiple directions, so the flip direction won't be accurate and just creates bad normals
2025-01-27 16:48:29 -08:00
c5cf73a2e7
Optimize AgX tonemapper's handling of negative values
...
This change improves performance of the AgX tonemapper by allowing two matrix multiplications to be combined into one. This comes at the cost of loss of color information that could be correctly interpreted as positive RGB values in the Rec. 2020 color space. Additionally, an insignificant amount of error is intentionally introduced to the input color value to prevent the need for a second max function call before log2. The final negative color clipping has been removed to allow the tonemapper to return negative RGB values, similar to other tonemappers in Godot.
2025-01-13 17:35:35 -05:00
77ddaaaa91
Fix AgX sigmoid contrast curve approximation
...
This changes the polynomial function so that a lower input always results in a lower output and vice-versa. Additionally, the new function returns a value that is much closer to 1.0 when given an input of 1.0.
2025-01-10 18:17:38 -05:00
03c83cea1e
Style: Enable clang-format's InsertBraces config
...
This was part of our style guide since we started using clang-format
but the feature was only added in clang-format 15, and we hadn't
noticed it yet.
2025-01-09 16:46:51 +01:00
21721ae344
Merge pull request #87260 from Calinou/tonemap-add-agx
...
Add AgX tonemapper option to Environment
2025-01-08 18:20:03 +01:00
084e84be78
Add AgX tonemapper option to Environment
...
Technical implementation notes:
- Moved linearization step to before the outset matrix is applied and
changed polynomial contrast curve approximation.
- This does *not* implement Blender's chroma rotation to address hue shift.
This hue rotation was found to have a significant performance impact.
- Improved performance by combining the AgX outset matrix with the Rec 2020 matrix.
Co-authored-by: Allen Pestaluky <allenpestaluky@gmail.com >
Co-authored-by: Clay John <claynjohn@gmail.com >
2025-01-08 17:01:16 +01:00
f134769506
Fix various typos
...
* Add TODO notes for typos that should be fixed for 5.0
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com >
2025-01-08 14:47:42 +02:00
084da581be
Merge pull request #100241 from lander-vr/reflection-probe-priority
...
Add priority-based blending to reflection probes.
2025-01-07 10:14:38 +01:00
11dc4f2e5e
Metal: Add MetalFX upscaling support
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro >
2025-01-06 06:03:18 -07:00
40f17127ef
Fix User-supplied Normals Being Ignored
...
Moves the initialization of the geo_normal value
to after the user shader code, so that the normal
supplied by the user is actually used instead of
the interpolated vertex normal.
2024-12-27 13:01:20 -07:00
1637736c20
ReflectionProbe priority
2024-12-23 21:58:11 +01:00
1536e0e236
Merge pull request #100441 from StaydMcMuffin/scene-shaders-tbn-fixes
...
Scene Shaders - TBN Vector Fixes
2024-12-19 19:59:58 -06:00
2fcd8223e8
Merge pull request #99538 from Geometror/lightmap-gi-transparent-surface
...
Add transparency support for LightmapGI
2024-12-19 19:59:52 -06:00
4665faaaa9
Merge pull request #100427 from Namey5/fog-sky-luminance
...
Separate sky luminance and brightness calculations for consistent fog
2024-12-19 19:59:50 -06:00
41b468f961
Merge pull request #100544 from Namey5/sdfgi-sky-rotation
...
Support custom sky rotation in SDFGI
2024-12-19 19:59:46 -06:00
d3e5b62ea2
Merge pull request #99230 from paddy-exe/instance_uniforms_compatability_renderer
...
Implement 2D instance uniforms
2024-12-19 19:59:37 -06:00
e4fd2f003f
Support custom sky rotation in SDFGI
2024-12-20 11:26:28 +11:00
5f617663aa
fix: separate sky luminance and user brightness calculations around fog
2024-12-20 11:25:11 +11:00
a3525bc015
Add transparency support for LightmapGI
...
Co-authored-by: Guerro323 <kaltobattle@gmail.com >
2024-12-18 19:36:16 +01:00
ceefc0d38a
Implement 2D instance shader parameters
...
Co-authored-by: kobewi <kobewi4e@gmail.com >
Co-authored-by: yesfish <huwpascoe@users.noreply.github.com >
Co-authored-by: Álex Román Núñez <eirexe123@gmail.com >
2024-12-17 23:59:16 +01:00
190ae9f9dc
Merge pull request #100302 from clayjohn/light2d-optimize
...
Optimize PointLight2D shadow rendering by reducing draw calls and RD state changes
2024-12-17 22:59:54 +01:00
7c61252dd7
Optimize PointLight2D shadow rendering by reducing draw calls and RD state changes.
...
This dramatically reduces the CPU time spent on rendering shadows for PointLight2Ds
2024-12-17 07:41:09 -08:00
ed0e3d7da8
Scene Shaders - TBN Fixes
...
Fixes two errors related to the normal, tangent,
and bitangent vectors, namely normals not always
being inverted on backfaces, and normalization
being reversed from what MikkTSpace expects.
2024-12-16 22:36:23 -07:00
e42def12d0
Implement per-light Specular property in DirectionalLight3D
2024-12-16 19:18:18 +01:00
356fa37f89
Small fixups for the new reflection probe blending
2024-12-12 17:29:21 -08:00
7c015a768f
Merge pull request #99958 from lander-vr/reflection-probe-blend-property
...
Add Blend Distance property to ReflectionProbe
2024-12-12 16:13:32 -06:00
562dd1ad85
Merge pull request #100305 from clayjohn/directional-light-2d-mask
...
Remove positional light mask from directional lights in Canvas Item shaders.
2024-12-12 14:10:24 +01:00
189c8eb671
Implement shadowmasks for LightmapGI
...
Co-authored-by: dearthdev <nathandearthdev@gmail.com >
2024-12-12 11:00:28 +01:00
f8827271d7
Remove positional light mask from directional lights in Canvas Item shaders.
2024-12-12 00:20:07 -08:00
25122e7dd3
Merge pull request #100081 from clayjohn/rd-clearcoat
...
Ensure schlick is available when using clearcoat with GGX
2024-12-10 14:16:07 -06:00
9320865796
Avoid calculating dynamic lights when lights are baked into LightmapGI using the static bake mode
2024-12-06 10:17:44 -08:00
f92018288f
Ensure schlick is available when using clearcoat with GGX
2024-12-05 19:11:03 -08:00
05010180ce
ReflectionProbe add Blend Distance
2024-12-05 23:29:47 +01:00
637239e979
Merge pull request #94193 from BastiaanOlij/buildin_includes
...
Add ability to include built-in include files
2024-12-05 14:12:23 -06:00
f5d82af1fd
Merge pull request #99136 from DarioSamo/light-compute-attenuation-skip
...
Improve performance of shader lighting code in Forward renderers.
2024-12-05 14:12:08 -06:00
a4c2e16c19
Merge pull request #100028 from clayjohn/rd-lights-array
...
Use a vector instead of an array in canvas shader instance buffer
2024-12-05 14:12:05 -06:00
e316739a13
Use a vector instead of an array in canvas shader instance buffer.
...
This avoids a pathological performance cliff on Adreno devices
2024-12-04 16:36:46 -08:00
fa7615be9e
Add specialization for directional light split blend and fog.
2024-12-03 15:12:46 -03:00
c58ae91efa
Merge pull request #99220 from Flarkk/fix_sss_reverse_z
...
Fix regression in SSS with reverse-z
2024-11-27 10:46:56 -06:00
0ce4c6dac3
Improve performance of shader lighting code in Forward renderers.
...
- Skip sampling shadows if attenuation is very small.
- Skip computing diffuse and specular light if attenuation and shadow are very small.
2024-11-27 12:20:31 -03:00
3376b9166b
Fix SSS with reverse-z
2024-11-26 10:51:22 +01:00
1bffefb346
Adding ability to include build-in include files (precursor to custom shader templates)
2024-11-24 08:47:45 +11:00
dcb59f0e7e
Merge pull request #99548 from Repiteo/style/clang-format-19-options
...
Style: Add 19.1.0 LLVM options to `.clang-format`
2024-11-22 14:54:29 -06:00
e8a4b45ce4
Style: Add 19.1.0 LLVM options to .clang-format
2024-11-22 09:24:32 -06:00
2b68c63a88
Mask out shadows on CanvasItems that don't have a matching item_shadow_mask
...
This restores the behavior from 3.x
2024-11-21 22:15:54 -08:00
8eee5066eb
Merge pull request #94981 from Chaosus/shader_fix_screen_uv_in_spatial_light
...
Allow `SCREEN_UV` to be used in light function of spatial shader
2024-11-21 17:56:45 -06:00
02efdb28dc
Unify y-flip behavior for sky in RD backends
2024-11-19 16:59:04 -08:00