Rémi Verschelde
c695eb9159
Merge pull request #101952 from Flarkk/fix_spotlight_peterpanning_regression
...
Fix shadow peter-panning with default spotlight
2025-02-07 01:39:15 +07:00
BlueCube3310
8714b36171
Fix rendering material when UV2 is compressed
2025-02-06 20:24:46 +07:00
Dario
d39ac94c41
Add loop annotations to ubershaders to prevent loop unrolling.
2025-02-06 09:39:18 +07:00
clayjohn
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 +07:00
MathdudeMan
964cd6525e
Fix: Mass property particle shader error
2025-01-28 21:00:26 +07:00
Thaddeus Crews
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 +07:00
clayjohn
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 +07:00
Florent Guiocheau
d08ff57148
Fix peter-panning with default spotlight
2025-01-22 17:05:04 +07:00
Allen Pestaluky
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 +07:00
Allen Pestaluky
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 +07:00
Rémi Verschelde
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 +07:00
Rémi Verschelde
21721ae344
Merge pull request #87260 from Calinou/tonemap-add-agx
...
Add AgX tonemapper option to Environment
2025-01-08 18:20:03 +07:00
Hugo Locurcio
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 +07:00
Aarni Koskela
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 +07:00
Rémi Verschelde
084da581be
Merge pull request #100241 from lander-vr/reflection-probe-priority
...
Add priority-based blending to reflection probes.
2025-01-07 10:14:38 +07:00
Stuart Carnie
11dc4f2e5e
Metal: Add MetalFX upscaling support
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-06 06:03:18 +07:00
Stayd
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
landervr
1637736c20
ReflectionProbe priority
2024-12-23 21:58:11 +07:00
Thaddeus Crews
1536e0e236
Merge pull request #100441 from StaydMcMuffin/scene-shaders-tbn-fixes
...
Scene Shaders - TBN Vector Fixes
2024-12-19 19:59:58 +07:00
Thaddeus Crews
2fcd8223e8
Merge pull request #99538 from Geometror/lightmap-gi-transparent-surface
...
Add transparency support for LightmapGI
2024-12-19 19:59:52 +07:00
Thaddeus Crews
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 +07:00
Thaddeus Crews
41b468f961
Merge pull request #100544 from Namey5/sdfgi-sky-rotation
...
Support custom sky rotation in SDFGI
2024-12-19 19:59:46 +07:00
Thaddeus Crews
d3e5b62ea2
Merge pull request #99230 from paddy-exe/instance_uniforms_compatability_renderer
...
Implement 2D instance uniforms
2024-12-19 19:59:37 +07:00
Alex Threlfo
e4fd2f003f
Support custom sky rotation in SDFGI
2024-12-20 11:26:28 +07:00
Alex Threlfo
5f617663aa
fix: separate sky luminance and user brightness calculations around fog
2024-12-20 11:25:11 +07:00
Hendrik Brucker
a3525bc015
Add transparency support for LightmapGI
...
Co-authored-by: Guerro323 <kaltobattle@gmail.com>
2024-12-18 19:36:16 +07:00
kobewi
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 +07:00
Rémi Verschelde
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 +07:00
clayjohn
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 +07:00
Stayd
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
Andrew_Shobbrook
e42def12d0
Implement per-light Specular property in DirectionalLight3D
2024-12-16 19:18:18 +07:00
clayjohn
356fa37f89
Small fixups for the new reflection probe blending
2024-12-12 17:29:21 +07:00
Thaddeus Crews
7c015a768f
Merge pull request #99958 from lander-vr/reflection-probe-blend-property
...
Add Blend Distance property to ReflectionProbe
2024-12-12 16:13:32 +07:00
Rémi Verschelde
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 +07:00
BlueCube3310
189c8eb671
Implement shadowmasks for LightmapGI
...
Co-authored-by: dearthdev <nathandearthdev@gmail.com>
2024-12-12 11:00:28 +07:00
clayjohn
f8827271d7
Remove positional light mask from directional lights in Canvas Item shaders.
2024-12-12 00:20:07 +07:00
Thaddeus Crews
25122e7dd3
Merge pull request #100081 from clayjohn/rd-clearcoat
...
Ensure schlick is available when using clearcoat with GGX
2024-12-10 14:16:07 +07:00
clayjohn
9320865796
Avoid calculating dynamic lights when lights are baked into LightmapGI using the static bake mode
2024-12-06 10:17:44 +07:00
clayjohn
f92018288f
Ensure schlick is available when using clearcoat with GGX
2024-12-05 19:11:03 +07:00
landervr
05010180ce
ReflectionProbe add Blend Distance
2024-12-05 23:29:47 +07:00
Thaddeus Crews
637239e979
Merge pull request #94193 from BastiaanOlij/buildin_includes
...
Add ability to include built-in include files
2024-12-05 14:12:23 +07:00
Thaddeus Crews
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 +07:00
Thaddeus Crews
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 +07:00
clayjohn
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 +07:00
Dario
fa7615be9e
Add specialization for directional light split blend and fog.
2024-12-03 15:12:46 +07:00
Thaddeus Crews
c58ae91efa
Merge pull request #99220 from Flarkk/fix_sss_reverse_z
...
Fix regression in SSS with reverse-z
2024-11-27 10:46:56 +07:00
Dario
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 +07:00
Florent Guiocheau
3376b9166b
Fix SSS with reverse-z
2024-11-26 10:51:22 +07:00
Bastiaan Olij
1bffefb346
Adding ability to include build-in include files (precursor to custom shader templates)
2024-11-24 08:47:45 +07:00
Thaddeus Crews
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 +07:00
Thaddeus Crews
e8a4b45ce4
Style: Add 19.1.0 LLVM options to `.clang-format`
2024-11-22 09:24:32 +07:00
clayjohn
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 +07:00
Thaddeus Crews
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 +07:00
clayjohn
02efdb28dc
Unify y-flip behavior for sky in RD backends
2024-11-19 16:59:04 +07:00
Chaosus
a64b3fd3f8
Allow `SCREEN_UV` to be used in light function of spatial shader
2024-11-19 11:39:49 +07:00
clayjohn
2c158c386b
Normalize normal tangent and binormal before interpolating in the mobile renderer to avoid precision errors on heavily scaled meshes
2024-11-13 12:24:28 +07:00
Thaddeus Crews
edc60c63f1
Merge pull request #98701 from DarioSamo/rd-graph-improvements
...
Add dependency detection improvements to the render graph.
2024-11-04 21:51:58 +07:00
Dario
53099c56f0
Add multiple specialization constants to Forward+ and Mobile.
2024-11-04 14:35:40 +07:00
Dario
5216ef5f9c
Add dependency detection improvements to the render graph.
...
- Buffers changing their usage are no longer treated as write usage unless the API requires it.
- Draw lists are not treated as being dependent on each other if their regions do not intersect despite both being write commands.
- Particles were tweaked to use different unused buffers to reduce dependencies.
2024-11-01 09:46:52 +07:00
Stuart Carnie
0d1d945727
2D: Fix various issues and minor performance optimisations
2024-10-30 08:36:45 +07:00
Clay John
748f4079e3
Merge pull request #96439 from darksylinc/matias-TheForge-pr03-rebased
...
Add Swappy & Pre-Transformed Swapchain
2024-10-29 12:34:40 +07:00
Matias N. Goldberg
aaa0e2fddf
Add Swappy & Pre-Transformed Swapchain
...
- Adds Swappy for Android for stable frame pacing
- Implements pre-transformed Swapchain so that Godot's compositor is in
charge of rotating the screen instead of Android's compositor
(performance optimization for phones that don't have HW rotator)
============================
The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
Changes from original PR:
- Removed "display/window/frame_pacing/android/target_frame_rate" option
to use Engine::get_max_fps instead.
- Target framerate can be changed at runtime using Engine::set_max_fps.
- Swappy is enabled by default.
- Added documentation.
- enable_auto_swap setting is replaced with swappy_mode.
2024-10-28 18:55:37 +07:00
Dario
427ba09efc
Fix soft shadows by increasing the bit count for specialization constants.
2024-10-28 10:26:50 +07:00
Thaddeus Crews
c145e85011
Merge pull request #98226 from m-pranav-r/fix-volumetric-shadows
...
Fix incorrect depth comparison used to calculate volumetric fog shadowing
2024-10-21 16:39:11 +07:00
m-pranav-r
c12001a9dc
Fix incorrect depth comparison used to calculate volumetric fog shadowing
2024-10-16 14:55:41 +07:00
EnlightenedOne
cef515506b
Move preprocessor to end of line for iterator, remove redeclaration incompatible with ubershader method definitions
2024-10-14 22:19:16 +07:00
Dario
e2c6daf7ef
Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
...
- Implements asynchronous transfer queues from PR #87590 .
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 +07:00
Patrick Owen
d720eb80e1
Clamp UV-coordinates to centers of outermost texels when configured to do so
...
In addition, fix region_filter_clip_enabled documentation to be consistent with AtlasTexture.xml, since that is the option whose behavior was fixed
2024-09-29 05:57:19 +07:00
Rémi Verschelde
285ebed828
Merge pull request #83360 from ywmaa/vertex_shading
...
Implement vertex shading
2024-09-29 00:46:48 +07:00
ywmaa
0a9ad8f9de
Implement vertex shading
...
This adds support in all backends, but the Compatibility renderer works the best.
Mobile and Forward+ can only support one directional light shader (the first in the tree)
While the Compatibility renderer supports any number of shadows.
Co-authored-by: Clay John <claynjohn@gmail.com>
2024-09-29 00:36:09 +07:00
clayjohn
4d635b7a3a
Combine texture and instance data into one uniform set in the 2D renderer
...
Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
2024-09-27 11:05:46 +07:00
Rémi Verschelde
bfe74eca3b
Merge pull request #97428 from clayjohn/shadow-filter-jitter-rebase
...
Jitter shadow map dithering pattern across frames when TAA is enabled
2024-09-26 12:45:50 +07:00
Rémi Verschelde
991e6c92ab
Merge pull request #96923 from Repiteo/style/warning-admonition
...
Style: Add `WARNING:` as new comment admonition
2024-09-26 12:45:38 +07:00
Thaddeus Crews
32c83a228d
Style: Add `WARNING:` as new comment admonition
2024-09-25 09:44:42 +07:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 +07:00
Rie
5efa6ba489
Fix incorrect Reinhard tonemap operator
2024-09-25 12:34:23 +07:00
Hugo Locurcio
0eb06da057
Jitter shadow map dithering pattern across frames when TAA is enabled
...
This improves shadow quality by reducing the visibility of the noisy
pattern caused by dithering.
This jittering also applies when FSR2 is enabled, as it provides its own
form of temporal antialiasing.
Co-authored-by: Clay John <claynjohn@gmail.com>
2024-09-24 15:52:07 +07:00
clayjohn
e75900e1ad
Calculate pixel snap in canvas space instead of world space
...
This ensures that you are actually snapping to pixels in the viewport and not an arbitrary amount
2024-09-20 17:43:33 +07:00
Thaddeus Crews
b37fc1014a
Style: Apply new `clang-format` changes
2024-09-20 08:09:48 +07:00
Stuart Carnie
a657ea42f1
2D: Add batching to RendererCanvasRenderRD
2024-09-12 05:26:06 +07:00
BlueCube3310
a89f4fa5a9
LightmapGI: Pack L1 SH coefficients for directional lightmaps
2024-09-05 22:46:58 +07:00
Rémi Verschelde
49ed6c558c
Merge pull request #86809 from clayjohn/TAA-disocclusion
...
Tune TAA disocclusion scale to avoid rejecting all samples during motion.
2024-09-03 16:13:26 +07:00
Rémi Verschelde
63a8548693
Merge pull request #96426 from clayjohn/RD-reflection-probe-roughness
...
Use non-linear mapping for ReflectionProbe mip levels to match sky
2024-09-03 11:43:52 +07:00
Rémi Verschelde
667778cf4d
Merge pull request #93448 from clayjohn/transmittance-fixes
...
Various fixes for transmittance effect
2024-09-03 11:42:57 +07:00
clayjohn
64f5443b14
Use non-linear mapping for ReflectionProbe mip levels to match sky
2024-09-01 01:40:42 +07:00
Chaosus
f538376c3b
Add `CLIP_SPACE_FAR` built-in to spatial shader
2024-08-27 08:48:46 +07:00
Rémi Verschelde
68d188d521
Merge pull request #95888 from clayjohn/Lightmap-SH-coefficients
...
Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
2024-08-25 20:18:18 +07:00
BlueCube3310
4aa145624e
LightmapGI: Fix shader data alignment after #89919
2024-08-21 21:37:13 +07:00
clayjohn
f4ccba7508
Use correct lightmap coefficients to ensure that the directional lightmap mode looks correct
...
Also remove the metallic option from directional lightmap as it is guaranteed to return negative numbers in many cases
2024-08-21 10:24:32 +07:00
Stuart Carnie
2d0165574d
Add Metal support for macOS (arm64) and iOS
2024-08-20 12:11:06 +07:00
Rémi Verschelde
8acd82f70e
Merge pull request #89919 from BlueCube3310/bicubic-lightmap
...
Implement bicubic sampling for lightmaps
2024-08-20 10:01:41 +07:00
Rémi Verschelde
333f0f910f
Merge pull request #86000 from jsjtxietian/add-missing-model_normal_matrix
...
Add `model_normal_matrix` for fragment shader
2024-08-20 10:01:36 +07:00
jsjtxietian
e698351db2
Add model_normal_matrix for fragment shader
2024-08-20 12:39:29 +07:00
Rémi Verschelde
c6400a8fe4
Merge pull request #95662 from clayjohn/GLES3-sky-fog
...
Add fixed fog to the sky in the Compatibility renderer
2024-08-19 12:09:10 +07:00
Rémi Verschelde
824a97120e
Merge pull request #92213 from clayjohn/ambient-disabled
...
Disable all sources of ambient light when `ambient_light_disabled` render mode is used
2024-08-19 12:08:31 +07:00
BlueCube3310
ef9bb1a207
Implement support for bicubic lightmap filtering
...
Co-authored-by: Calinou <hugo.locurcio@hugo.pro>
2024-08-19 09:52:09 +07:00
clayjohn
578049b7b9
Add fixed fog to the sky in the Compatibility renderer
...
And apply luminance multiplier after fog in RD renderer
2024-08-17 23:33:26 +07:00
Rémi Verschelde
851d0a764d
Merge pull request #95536 from jsjtxietian/rename-alpha-scissor
...
Fix undefined `alpha_scissor` in standard shader
2024-08-16 14:35:38 +07:00
jsjtxietian
970a237c20
Fix undefined `alpha_scissor` in standard shader
2024-08-15 11:44:11 +07:00
clayjohn
b99d0d778a
Use transformed roughness instead of raw roughness to calculate roughness fade in SSR
2024-08-12 12:04:16 +07:00
Rémi Verschelde
139cf025c9
Merge pull request #94629 from RandomShaper/fix_undef_position
...
Fix position from vertex shader partially uninitialized
2024-07-24 09:59:24 +07:00
Pedro J. Estébanez
0064532c1e
Fix position from vertex shader partially uninitialized
2024-07-23 09:04:54 +07:00
Rémi Verschelde
587f1d0cb0
Merge pull request #92817 from Alex2782/fix_glsl_Mali-G
...
Fix glsl shader for Android Mali-GXXx GPUs and Vulkan API 1.3.xxx
2024-07-22 17:24:04 +07:00
Alexander Hartmann
78ede4f8b6
Fix glsl shader for Android Mali-GXXx GPUs and Vulkan API 1.3.xxx
2024-07-20 22:01:35 +07:00
Rémi Verschelde
c5e5fa3d9f
Merge pull request #94289 from clayjohn/MOBILE-multimesh-spec-constant
...
Use a spec constant to control whether the MultiMesh branch is used in the vertex shader.
2024-07-17 12:24:01 +07:00
Rémi Verschelde
c2375d0b12
Merge pull request #94184 from mertkasar/ssr-rotation-fix
...
Fix SSR orientation issues when using orthogonal camera
2024-07-17 11:43:25 +07:00
clayjohn
4cbc967f50
Use a spec constant to control whether the MultiMesh branch is used in the vertex shader.
...
This works around a bug on the Quest3 and slightly improves performance on all mobile devices at the cost of increased pipeline count.
2024-07-12 15:44:06 +07:00
Mert Kasar
56ed2cb6d1
Fix SSR orientation issues when using orthogonal camera
...
- Use negative clip space values to fix reversed rotations in reflections
- Use constant -z view vector when raymarching to fix perspective in reflections
2024-07-12 21:56:31 +07:00
clayjohn
e0f736ec10
Properly linearize depth buffer for SSAO when using orthogonal camera
2024-07-09 15:29:45 +07:00
ueshita
e1d6ab4c80
Fix userdata not copied when trails started
2024-06-25 23:33:26 +07:00
clayjohn
d61fae36f3
Various fixes for transmittance effect
...
Use correct shadow sampling for omni and spot lights
Disable transmittance if shadows are disabled
Correct DirectionalLight transmittance bias to match shadow bias (its still pretty sensitive though)
2024-06-21 18:15:27 +07:00
Stuart Carnie
98e9578d66
Remove unused flag and code
...
Related #48894
2024-06-20 13:50:20 +07:00
Rudolph Bester
f666c76a9c
Fixed collided 3D GPU particles sometimes jittering
2024-05-28 14:09:08 +07:00
clayjohn
6fbef0669d
Disable all sources of ambient light when `ambient_light_disabled` render mode is used
2024-05-21 10:42:12 +07:00
Rémi Verschelde
7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
...
Found by apply the file_format checks again via #91597 .
2024-05-08 10:12:46 +07:00
Rémi Verschelde
4b070e8031
Fix various typos with codespell
...
Using 2.2.7.dev217+g10c2abcf.
Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +07:00
Bastiaan Olij
9042ddf19f
Improvements to VRS/Foveated rendering
2024-05-03 17:20:30 +07:00
QbieShay
e41064388e
reverted naming to premul alpha (no T)
...
Initially 3d had premulT alpha as a keyword.
Since Canvas item uses mixed premul and premult as keywords,
3D is changed as well to keep consistency with 2D.
Unfortunately this keeps inconsistency with the internal ENUM.
2024-05-01 22:24:49 +07:00
QbieShay
41a2b0e83e
Added premult alpha blending to 3D (spatial) shaders.
...
Co-authored-by: jitspoe <jitspoe@yahoo.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2024-05-01 00:53:29 +07:00
Chris Clyne
1ca0eeac28
Fix inverted GPUParticlesCollisionHeightField3D
2024-04-26 17:30:50 +07:00
Bastiaan Olij
d2d22748b4
Fix issue in shadow to opacity
2024-04-26 21:54:26 +07:00
Rémi Verschelde
853740e2ad
Merge pull request #91191 from clayjohn/RD-soft-shadows
...
Properly calculate penumbra for soft shadows with reverse z
2024-04-26 11:09:02 +07:00
Rémi Verschelde
22c8a2785d
Merge pull request #90920 from clayjohn/2D-light-cull
...
Exit light calculation early when pixel outside of light bounding rectangle
2024-04-26 11:08:29 +07:00
clayjohn
4e5e81c7d4
Properly calculate penumbra for soft shadows with reverse z
...
Also fix a related bug where the DirectionalLight3D size was ignored unless a positional light with soft shadows touched the mesh
2024-04-25 17:06:49 +07:00
Rob Blanckaert
ffe0b869f5
Add LIGHT_VERTEX to fragment shader
...
Adds a new variable to the fragment shader to specify
the vertex position used when calculating lighting.
2024-04-25 06:56:02 +07:00
Bastiaan Olij
226ca2f04c
Fix issue with copy shader not working in multiview
2024-04-23 21:46:39 +07:00
clayjohn
506e93a207
Exit light calculation early when pixel outside of light bounding rectangle
...
This hugely improves the performance of rendering PointLight2Ds
2024-04-19 16:10:11 +07:00
clayjohn
adfc9ccc44
Use a src rect for copying from screen with CanvasGroup in the mobile backend
2024-04-17 15:19:20 +07:00
Khasehemwy
d950f5f838
Use Reverse Z for the depth buffer
2024-04-04 13:54:15 +07:00
Bastiaan Olij
df8ff797b7
Consistantly use USE_MULTIVIEW as the define in shaders
2024-03-11 14:40:00 +07:00
Eidolon
08f4560e69
Add optional depth fog
2024-02-17 22:39:34 +07:00
Erik Johnson
eab95698cd
Fix shadows for billboarded Sprite3D's
2024-02-13 10:36:38 +07:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
...
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +07:00
Yuri Sizov
1b83e8ae81
Merge pull request #87460 from BastiaanOlij/stereo_ivec
...
Add ivec variants to multiview_uv for stereo rendering
2024-01-25 16:27:10 +07:00
Giwayume
bb83c4adec
Add custom shader attributes to Canvas Item Shaders
2024-01-23 14:36:39 +07:00
Bastiaan Olij
1066f01607
Add ivec variants to multiview_uv for stereo rendering
2024-01-23 16:13:31 +07:00
kleonc
0fe7eead02
Fix 2D normals for transposed texture
2024-01-15 17:34:29 +07:00
Bastiaan Olij
10a8b88165
Fix SSR not working properly in stereo
2024-01-09 23:19:57 +07:00
Dario
cc4d39b0c1
Acyclic Command Graph for RenderingDevice.
...
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 +07:00
clayjohn
7f1863f83d
Tune TAA disocclusion scale to avoid rejecting all samples during motion.
2024-01-04 17:06:57 +07:00
Rémi Verschelde
7abaac631b
Fixup SDFGI shader compilation error after #80390
...
My mistake, I added this when rebasing and didn't notice that it was a
.glsl file and thus the availability of Math was not confirmed by the
C++ compiler.
2024-01-03 08:51:08 +07:00
EddieBreeg
8747c67d9e
Fix potential integer underflow in rounded up divisions
...
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.
Fixes #80358 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +07:00
clayjohn
43cf21cb71
Use best fit normals for storing screen space normals
2023-12-21 14:41:29 +07:00
Yuri Sizov
c1d8b53ca0
Merge pull request #82668 from mrjustaguy/master
...
Improve split blending logic for Vulkan
2023-12-18 18:17:36 +07:00
clayjohn
a5399ab5af
Reduce the number of samplers used by the scene shaders
...
The hard limit for Apple devices is 16 samplers per stage. So we need to ensure we use less than that
2023-12-15 17:13:44 +07:00
clayjohn
2b9e6d2972
Use render pass uniform set to store viewport samplers.
...
This fixes a bugs where per-viewport samplers were being used for internal texture fetches (probes, sky, etc.).
This also fixes a bug when using multiple viewports in the same scene.
This also fixes a bug where the texture bias would override the bias from 3D scale.
2023-11-08 23:26:08 +07:00
Bastiaan Olij
e3b8af723e
Fix cubemap downsampler logic
2023-10-31 10:36:42 +07:00
clayjohn
57ba7ded87
Fix bug with alpha to coverage by enabling depth discard when using alpha to coverage
2023-10-30 23:07:30 +07:00
Rémi Verschelde
09b92a144d
Merge pull request #79921 from mandryskowski/ssr_transparency
...
Make Fresnel darken SSR instead of blending with specular
2023-10-11 22:37:02 +07:00
mandryskowski
5b2e54c17b
Fresnel should darken the SSR reflections instead of blending them with specular light.
2023-10-11 18:58:22 +07:00