BlueCube3310
8714b36171
Fix rendering material when UV2 is compressed
2025-02-06 20:24:46 +01:00
MathdudeMan
964cd6525e
Fix: Mass property particle shader error
2025-01-28 21:00:26 -05:00
Thaddeus Crews
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
Thaddeus Crews
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
Brandon Haley
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
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 -05: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 -05:00
Rémi Verschelde
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
Hugo Locurcio
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
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 +01: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 +01: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
Thaddeus Crews
1536e0e236
Merge pull request #100441 from StaydMcMuffin/scene-shaders-tbn-fixes
...
Scene Shaders - TBN Vector Fixes
2024-12-19 19:59:58 -06: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 -06: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 -06:00
Hendrik Brucker
a3525bc015
Add transparency support for LightmapGI
...
Co-authored-by: Guerro323 <kaltobattle@gmail.com >
2024-12-18 19:36:16 +01: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 +01: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 +01:00
Rémi Verschelde
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
clayjohn
356fa37f89
Small fixups for the new reflection probe blending
2024-12-12 17:29:21 -08: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 -06: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 +01:00
BlueCube3310
189c8eb671
Implement shadowmasks for LightmapGI
...
Co-authored-by: dearthdev <nathandearthdev@gmail.com >
2024-12-12 11:00:28 +01:00
clayjohn
f8827271d7
Remove positional light mask from directional lights in Canvas Item shaders.
2024-12-12 00:20:07 -08:00
Alessandro
c153c5b3cf
Moved uniform variables up so that they are available within the #GLOBAL scope
2024-12-06 17:39:31 -05:00
clayjohn
9320865796
Avoid calculating dynamic lights when lights are baked into LightmapGI using the static bake mode
2024-12-06 10:17:44 -08:00
landervr
05010180ce
ReflectionProbe add Blend Distance
2024-12-05 23:29:47 +01: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 -06:00
Thaddeus Crews
e8a4b45ce4
Style: Add 19.1.0 LLVM options to .clang-format
2024-11-22 09:24:32 -06: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 -08:00
Chaosus
a64b3fd3f8
Allow SCREEN_UV to be used in light function of spatial shader
2024-11-19 11:39:49 +03:00
clayjohn
c810ea4c1b
Reduce shader permutations in the compatibility backend
2024-11-15 23:13:33 -08:00
Thaddeus Crews
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
maxime.chambefort
6f846eb5c5
Added external camera feed from external plugin on Android
2024-10-30 18:30:28 +01:00
clayjohn
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
Clay John
842f982397
Merge pull request #96819 from clayjohn/GLES3-instance-uniforms
...
Implement instance uniforms in Compatibility renderer
2024-10-07 13:41:47 -06: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
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
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
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
clayjohn
29df589632
Implement instance uniforms in Compatibility renderer
2024-09-10 12:20:47 -07:00
BlueCube3310
a89f4fa5a9
LightmapGI: Pack L1 SH coefficients for directional lightmaps
2024-09-05 22:46:58 +02:00
Marius Hanl
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
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
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
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