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
a64b3fd3f8
Allow SCREEN_UV to be used in light function of spatial shader
2024-11-19 11:39:49 +03:00
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 -08:00
edc60c63f1
Merge pull request #98701 from DarioSamo/rd-graph-improvements
...
Add dependency detection improvements to the render graph.
2024-11-04 21:51:58 -06:00
53099c56f0
Add multiple specialization constants to Forward+ and Mobile.
2024-11-04 14:35:40 -03:00
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 -03:00
0d1d945727
2D: Fix various issues and minor performance optimisations
2024-10-30 08:36:45 +11:00
748f4079e3
Merge pull request #96439 from darksylinc/matias-TheForge-pr03-rebased
...
Add Swappy & Pre-Transformed Swapchain
2024-10-29 12:34:40 -07:00
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 -03:00
427ba09efc
Fix soft shadows by increasing the bit count for specialization constants.
2024-10-28 10:26:50 -03:00
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 -05:00
c12001a9dc
Fix incorrect depth comparison used to calculate volumetric fog shadowing
2024-10-16 14:55:41 +05:30
cef515506b
Move preprocessor to end of line for iterator, remove redeclaration incompatible with ubershader method definitions
2024-10-14 22:19:16 +01:00
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 -03:00
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 -04:00
285ebed828
Merge pull request #83360 from ywmaa/vertex_shading
...
Implement vertex shading
2024-09-29 00:46:48 +02:00
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 +02:00
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
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 +02:00
991e6c92ab
Merge pull request #96923 from Repiteo/style/warning-admonition
...
Style: Add `WARNING:` as new comment admonition
2024-09-26 12:45:38 +02:00