clayjohn
35100396e4
Validate varying count when compiling shaders
...
This avoids crashing on devices when a number of varyings greater than the device limit is used.
For now this accurately prints an error when compiling the shader, but the error text only pops up in the editor if the number of user varyings is above the limit.
2025-02-13 15:07:15 -08:00
BlueCube3310
8714b36171
Fix rendering material when UV2 is compressed
2025-02-06 20:24:46 +01:00
Rudolph Bester
b162c59097
Fix GPUParticlesCollisionHeightField3D adding collisions excluded by its layer_mask
...
Co-authored-by: Yahia Zakaria <yahiazakaria13@gmail.com >
2025-02-04 08:02:44 +02:00
Chaosus
570e59df3d
Fix shader uniforms has null as default value
2025-01-31 07:35:51 +03:00
Thaddeus Crews
3ba6ac0f66
Merge pull request #102143 from MathdudeMan/shader-error
...
Fix: Mass property particle shader bug
2025-01-29 17:45:13 -06:00
Stuart Carnie
0a9cd5ede9
2D: Fix clip children and rendering artefacts
...
Fixes both GLES3 and RendererRD implementations
Closes #102147
2025-01-30 07:19:47 +11:00
MathdudeMan
964cd6525e
Fix: Mass property particle shader error
2025-01-28 21:00:26 -05:00
Thaddeus Crews
808c25f453
Merge pull request #102089 from adamscott/fix-curve-texture-web
...
Add check for float texture linear filtering support
2025-01-28 09:03:39 -06:00
Adam Scott
60913170c6
Add check for float texture linear filtering support
...
Co-authored-by: Clay John <claynjohn@gmail.com >
2025-01-27 22:12:08 -05:00
Stuart Carnie
2510fefebd
2D: Fix rendering artefacts when using BackBufferCopy.
...
Fixes both GLES3 and RendererRD implementations
2025-01-25 10:22:07 +11:00
Thaddeus Crews
802cb0fed8
Merge pull request #101909 from BlueCube3310/compat-rgtc-arr
...
WebGL2: Fix 2D array textures with RGTC compression not rendering
2025-01-24 09:05:36 -06:00
BlueCube3310
2221f6ed13
WebGL2: Fix 2D array textures with RGTC compression not rendering
2025-01-22 20:41:20 +01:00
Thaddeus Crews
604e3ab91f
Merge pull request #101730 from clayjohn/GLES3-emission-half
...
Bake UV2 emission using half float in the compatibility backend
2025-01-20 10:05:39 -06: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
clayjohn
441fc1cba3
Baked UV2 emission using half float in the compatibility backend
...
The Lightmapper expects a half float image anyway, so this is both more efficient and correct
2025-01-17 16:46:31 -08:00
clayjohn
b8252196df
Avoid leaking ninepatch state to other draw commands in GLES backend
2025-01-17 10:13:04 -08:00
Matias N. Goldberg
7b2f1e1d09
Fix union order to simplify empty initializers
...
This is a followup to PR #101344 (commit
0e06eb80bc ).
Some of them were not an issue because Godot was initializing all
members, but they were "fixed" just in case since it could become a
problem in the future.
Valgrind was specifically complaining about HashMapData &
GlobalPipelineData.
2025-01-14 19:05:01 -03:00
Rémi Verschelde
85b066aa78
Merge pull request #99455 from Bonkahe/IndirectMultimeshImplementation
...
Add indirect draw functionality to `MultiMesh`
2025-01-14 15:05:42 +01:00
Rémi Verschelde
643a6f15f3
Merge pull request #101510 from scgm0/OpenGL3-renderer-supports-transparent-boot-splash
...
OpenGL3 renderer supports transparent boot splash
2025-01-14 00:22:21 +01: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
scgm0
b331ffa7e9
OpenGL3 renderer supports transparent boot splash
2025-01-14 05:58:59 +08:00
David House
e6daec9cf8
Added indirect drawing functionality to MultiMesh
...
Update doc/classes/RenderingServer.xml
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com >
2025-01-13 14:51:51 -06:00
Rémi Verschelde
133db1fd60
Merge pull request #92089 from QbieShay/qbe/particle_seek
...
Implement particle seek request and seed options.
2025-01-13 20:21:28 +01:00
Rémi Verschelde
89f233aca3
Merge pull request #101217 from BlueCube3310/gl-uncomp-formats
...
Compatibility: Improve gl texture format detection
2025-01-12 18:07:12 +01:00
Rémi Verschelde
62a5ea69ad
Merge pull request #101406 from allenwp/fix-agx-contrast-curve
...
Fix AgX sigmoid contrast curve approximation
2025-01-11 22:30:09 +01:00
Rémi Verschelde
d83598e9b9
Merge pull request #100778 from BlueCube3310/compat-get-texture-silence
...
Compatibility: Avoid converting to compressed formats when retrieving image data
2025-01-11 22:29:44 +01:00
QbieShay
e9eb0b6082
Implemented tools around particles seed randomization.
...
The purpose of this code is to expose the necessary
functions for users and engine devs to develop tooling
for properly timing and seeking inside particles.
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro >
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com >
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com >
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com >
2025-01-11 16:31:24 +01: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
Rémi Verschelde
139619ca0c
Merge pull request #101355 from akien-mga/style-clang-format-InsertBraces
...
Style: Enable clang-format's `InsertBraces` config
2025-01-10 23:06:15 +01:00
Rémi Verschelde
3014eec40d
Merge pull request #99407 from devloglogan/rec-resolution
...
Allow using custom `Rect2i` for rendering with OpenXR
2025-01-10 23:05:46 +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
devloglogan
e7f6b7ea0b
Allow using custom Rect2i for rendering with OpenXR
2025-01-09 09:46:15 -06: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 +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
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 +02:00
BlueCube3310
6a2cc39926
Compatibility: Improve gl texture format detection
2025-01-07 12:20:04 +01:00
Rémi Verschelde
3936d117e4
Merge pull request #100388 from Namey5/gles3-canvas-clear-fix
...
Fix canvas background mode not clearing correctly in Compatibility renderer
2025-01-03 00:48:38 +01:00
Thaddeus Crews
0efced3ea5
Merge pull request #100822 from BlueCube3310/gles-hdr-astc
...
Compatibility: Fix ASTC HDR extension detection
2024-12-30 08:58:48 -06:00
Thaddeus Crews
58b48a934e
Merge pull request #100859 from StaydMcMuffin/scene-shaders-user-normal-fix
...
Fix User-supplied Normals Being Ignored
2024-12-30 08:58:47 -06: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
BlueCube3310
88baa2f82d
Compatibility: Fix ASTC HDR extension detection
2024-12-26 11:44:05 +01:00
BlueCube3310
636a132e45
Compatibility: Avoid converting to compressed formats when retrieving image data
2024-12-23 23:16:46 +01:00
Thaddeus Crews
3c304ab7cc
Merge pull request #96076 from AThousandShips/improve_null_check_core_drivers
...
[Core,Drivers] Improve use of `Ref.is_null/valid`
2024-12-23 11:14:58 -06:00
Yufeng Ying
33817b186f
Remove unused header in drivers and modules.
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com >
2024-12-24 00:40:47 +08:00
Rémi Verschelde
f7d6924afb
Merge pull request #100677 from clayjohn/light2d-cull
...
Properly transform light rect and occluder rect to perform Light2D culling in canvas space
2024-12-22 00:10:12 +01:00
clayjohn
30801af298
Properly transform light rect and occluder rect to perform light2d culling in canvas space
2024-12-20 16:58:02 -07:00