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 -03: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 -04:00
Rémi Verschelde
285ebed828
Merge pull request #83360 from ywmaa/vertex_shading
...
Implement vertex shading
2024-09-29 00:46:48 +02: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 +02: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 +02: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 +02:00
Thaddeus Crews
32c83a228d
Style: Add WARNING:
as new comment admonition
2024-09-25 09:44:42 -05:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
Rie
5efa6ba489
Fix incorrect Reinhard tonemap operator
2024-09-25 12:34:23 +02: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 -05:00
Stuart Carnie
a657ea42f1
2D: Add batching to RendererCanvasRenderRD
2024-09-12 05:26:06 +10:00
BlueCube3310
a89f4fa5a9
LightmapGI: Pack L1 SH coefficients for directional lightmaps
2024-09-05 22:46:58 +02: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 +02: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 +02:00
Rémi Verschelde
667778cf4d
Merge pull request #93448 from clayjohn/transmittance-fixes
...
Various fixes for transmittance effect
2024-09-03 11:42:57 +02: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 +03: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 +02:00
BlueCube3310
4aa145624e
LightmapGI: Fix shader data alignment after #89919
2024-08-21 21:37:13 +02: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 +02:00
Rémi Verschelde
8acd82f70e
Merge pull request #89919 from BlueCube3310/bicubic-lightmap
...
Implement bicubic sampling for lightmaps
2024-08-20 10:01:41 +02: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 +02:00
jsjtxietian
e698351db2
Add model_normal_matrix for fragment shader
2024-08-20 12:39:29 +08: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 +02: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 +02:00
BlueCube3310
ef9bb1a207
Implement support for bicubic lightmap filtering
...
Co-authored-by: Calinou <hugo.locurcio@hugo.pro>
2024-08-19 09:52:09 +02: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 +02:00
jsjtxietian
970a237c20
Fix undefined alpha_scissor
in standard shader
2024-08-15 11:44:11 +08: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 +02:00
Pedro J. Estébanez
0064532c1e
Fix position from vertex shader partially uninitialized
2024-07-23 09:04:54 +02: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 +02:00
Alexander Hartmann
78ede4f8b6
Fix glsl shader for Android Mali-GXXx GPUs and Vulkan API 1.3.xxx
2024-07-20 22:01:35 +02: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 +02: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 +02: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 +03: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 +09: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 +10:00
Rudolph Bester
f666c76a9c
Fixed collided 3D GPU particles sometimes jittering
2024-05-28 14:09:08 +02: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 +02: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 +02:00