8714b36171
Fix rendering material when UV2 is compressed
2025-02-06 20:24:46 +01:00
964cd6525e
Fix: Mass property particle shader error
2025-01-28 21:00:26 -05:00
0d4696b472
Merge pull request #101515 from allenwp/agx-negative-optimizations
...
Optimize AgX tonemapper's handling of negative values
2025-01-20 10:05:38 -06:00
dcf4996276
Merge pull request #101159 from brandon515/compatibility_particle_shader_fix
...
Fix inverted `GPUParticlesCollisionHeightField3D` in compatibility renderer.
2025-01-20 10:05:24 -06:00
990612040a
Implemented fix from #91219 in compatibility renderer by reversing the z
...
axis in the particle shader.
2025-01-18 13:32:10 -05: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
e4a12a0299
Merge pull request #101365 from Calinou/agx-compatibility-use-rd-approach
...
Fix AgX tonemapping using old approach in Compatibility rendering method
2025-01-10 23:06:19 +01:00
5ebafc350f
Fix AgX tonemapping using old approach in Compatibility rendering method
...
Its implementation now matches the one used in RenderingDevice-based
rendering methods.
2025-01-09 20:58:23 +01: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
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
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
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
d3e5b62ea2
Merge pull request #99230 from paddy-exe/instance_uniforms_compatability_renderer
...
Implement 2D instance uniforms
2024-12-19 19:59:37 -06: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
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
736dcf72cc
Merge pull request #100125 from alessand10/uniform-variable-fix
...
Move uniform variables up in the `gles3/scene.glsl` template so that they are available within the `#GLOBALS` scope
2024-12-14 18:25:38 +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
c153c5b3cf
Moved uniform variables up so that they are available within the #GLOBAL scope
2024-12-06 17:39:31 -05: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
05010180ce
ReflectionProbe add Blend Distance
2024-12-05 23:29:47 +01: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
a64b3fd3f8
Allow SCREEN_UV to be used in light function of spatial shader
2024-11-19 11:39:49 +03:00
c810ea4c1b
Reduce shader permutations in the compatibility backend
2024-11-15 23:13:33 -08:00
11b90086b7
Merge pull request #96705 from elmajime/camera_from_external_feed
...
Add support for external camera feed from external plugin on Android
2024-11-04 21:51:50 -06:00
6f846eb5c5
Added external camera feed from external plugin on Android
2024-10-30 18:30:28 +01:00
940e9c2a43
Revert "Fix GPUParticles are not rendered for older AMD GPUs with OpenGL+Angle"
...
This reverts commit 9cc9df52eb .
This also adds a fallback to avoid using the Godot versions of the half 2 float functions when using ANGLE.
2024-10-29 22:17:16 -07:00
842f982397
Merge pull request #96819 from clayjohn/GLES3-instance-uniforms
...
Implement instance uniforms in Compatibility renderer
2024-10-07 13:41:47 -06: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
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
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
5efa6ba489
Fix incorrect Reinhard tonemap operator
2024-09-25 12:34:23 +02:00
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
b37fc1014a
Style: Apply new clang-format changes
2024-09-20 08:09:48 -05:00
29df589632
Implement instance uniforms in Compatibility renderer
2024-09-10 12:20:47 -07:00
a89f4fa5a9
LightmapGI: Pack L1 SH coefficients for directional lightmaps
2024-09-05 22:46:58 +02:00
9cc9df52eb
Fix GPUParticles are not rendered for older AMD GPUs with OpenGL+Angle
...
Using a better and faster algorithm for the float conversions
2024-09-01 20:22:30 +02:00
f538376c3b
Add CLIP_SPACE_FAR built-in to spatial shader
2024-08-27 08:48:46 +03:00
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
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
8acd82f70e
Merge pull request #89919 from BlueCube3310/bicubic-lightmap
...
Implement bicubic sampling for lightmaps
2024-08-20 10:01:41 +02:00