ze2j
37479cfad5
Remove useless instantiation in RDShaderFile::parse_versions_from_text
2024-06-27 08:57:06 +02:00
Bastiaan Olij
6ed6212949
Make RenderSceneData take projection correction into account
2024-06-27 10:44:30 +10:00
Rémi Verschelde
ba3bb44194
Merge pull request #93617 from jsjtxietian/protect-enum
...
Add safety check when setting several rendering effect quality
2024-06-26 14:51:25 +02:00
jsjtxietian
a313fa13fd
Add safety check when setting several rendering effect quality
2024-06-26 17:06:21 +08:00
ueshita
e1d6ab4c80
Fix userdata not copied when trails started
2024-06-25 23:33:26 +09:00
Rémi Verschelde
2e8ebb4a5e
Merge pull request #93469 from Chaosus/shader_fix_crash
...
Fix crash on shader constant initialization on MinGW compiler
2024-06-25 10:01:46 +02:00
Rémi Verschelde
cc625a168d
Merge pull request #93358 from Chaosus/shader_forbid_derivative_usage
...
Forbid calling of derivative functions in incorrect functions
2024-06-25 09:19:42 +02:00
smix8
f9876d3a88
Add navigation obstacles to performance monitor stats
...
Adds navigation obstacle count to navigation performance monitor.
2024-06-25 05:17:27 +02:00
Bastiaan Olij
a660c592c9
XR: Check for bad input in make_vrs_texture
2024-06-24 17:45:27 +02:00
Alex Drozd
e7859e9a49
Add stub method for mouse_get_position in headless display server
2024-06-23 00:15:02 +02:00
Yuri Rubinsky
d5b393a268
Fix crash on shader constant initialization on MinGW compiler
2024-06-22 16:36:54 +03: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
Yuri Rubinsky
ae95531e64
Forbid calling of derivative functions in incorrect functions
2024-06-21 20:47:21 +03:00
Rémi Verschelde
a57c7208eb
Merge pull request #93376 from stuartcarnie/sgc/canvasrd_dead_code
...
Remove unused flag and code from canvas renderer
2024-06-20 16:18:53 +02:00
Rémi Verschelde
58d13b9790
Merge pull request #93367 from Split82/typo_fix
...
Fix typo in preprocessor symbol
2024-06-20 16:18:43 +02:00
Stuart Carnie
98e9578d66
Remove unused flag and code
...
Related #48894
2024-06-20 13:50:20 +10:00
Jan Ilavsky
800e5f0f11
Fix typo in preprocessor symbol
2024-06-19 22:04:29 +02:00
ChristopheClaustre
c46bb775e9
Disable camera_effects on some debug draw mode
2024-06-19 16:45:58 +02:00
Rémi Verschelde
19bf77f666
Merge pull request #91382 from adamscott/sample-player
...
Add sample playback support
2024-06-19 07:59:07 +02:00
Adam Scott
52fa4f05f3
Add samples playback support
2024-06-18 11:06:31 -04:00
Rémi Verschelde
76a8fa6fed
Merge pull request #93292 from rune-scape/singleton-cleanup
...
Fix missing cleanup and null checks for various singletons
2024-06-18 14:09:01 +02:00
Rémi Verschelde
29654bdc4f
Merge pull request #93286 from rune-scape/fix-rare-physics-crash
...
GodotPhysics: Fix crash on null space
2024-06-18 14:08:58 +02:00
rune-scape
ef9b82a076
fix rare physics crash
2024-06-18 02:18:11 -07:00
rune-scape
6adcb1373a
fix missing cleanup and null checks for various singletons
2024-06-18 01:05:30 -07:00
Yuri Rubinsky
3d2b70c1ec
Prevent changing some built-ins in spatial shaders
2024-06-17 19:18:14 +03:00
Rémi Verschelde
47d778e143
Merge pull request #93182 from markdibarry/parallax2d-y-sort-fix
...
Add Parallax2D repeats in ysort child collection
2024-06-17 10:58:54 +02:00
markdibarry
95813793b4
Add repeats in ysort child collection
2024-06-15 10:53:32 -04:00
clayjohn
ea4be9afa6
Add more validation to UBO size and alignment in Compatibility renderer
2024-06-14 12:56:29 -07:00
bruvzg
e651421905
[TextServer, GDExtension] Fix building text servers as GDExtension, expose new/changed low-level methods to GDExtension API.
2024-06-12 19:30:19 +03:00
Rémi Verschelde
756102828e
Merge pull request #93055 from clayjohn/MV-debug
...
Ensure Motion Vectors are enabled by particles and skeletons when using the Motion Vector debug draw option
2024-06-12 18:17:03 +02:00
Rémi Verschelde
7571f82bea
Merge pull request #92763 from markdibarry/parallax2d_cull_fix
...
Fix incorrect cull boundary for scaled and repeated Parallax2D children
2024-06-12 11:01:05 +02:00
Bastiaan Olij
1690ede988
Track compositor effects that use motion vectors so we enable required logic
2024-06-12 12:37:18 +10:00
clayjohn
fa3e00e2c4
Ensure Motion Vectors are enabled by particles and skeletons when using the Motion Vector debug draw option
2024-06-11 12:46:56 -07:00
Rémi Verschelde
ea7d988b72
Merge pull request #92781 from bruvzg/menu_open_close_imp
...
[macOS] Improve native menu open/close callbacks.
2024-06-07 23:30:15 +02:00
Mikael Hermansson
f92b196099
Add input event callback to `DisplayServerHeadless`
2024-06-05 20:34:35 +02:00
bruvzg
1f7bf27780
[macOS] Improve native menu open/close callbacks.
2024-06-05 20:22:41 +03:00
kleonc
91e995e704
Fix creating cursor image from AtlasTexture
2024-06-05 01:44:05 +02:00
markdibarry
f0983f1b1c
Add cull fix for scale repeat
2024-06-04 11:52:34 -04:00
Rémi Verschelde
705b7a0b0b
Merge pull request #92587 from RandomShaper/validate_tex_usage
...
RenderingDevice: Reject creation of textures with no usage
2024-05-31 14:16:55 +02:00
Rémi Verschelde
8b044da396
Merge pull request #92474 from Rudolph-B/fix-collided-particles-jittering
...
Fix collided 3D GPU particles sometimes jittering
2024-05-31 14:16:46 +02:00
Rémi Verschelde
138f334316
Merge pull request #92444 from clayjohn/RD-srgb-uniform-buffer
...
Separate linear and sRGB uniform buffers in RD rendering backends
2024-05-31 14:16:43 +02:00
Rémi Verschelde
f2796fa06d
Merge pull request #91769 from DarioSamo/d3d12_enhanced_barriers
...
Add support for enhanced barriers in D3D12.
2024-05-31 14:15:49 +02:00
Pedro J. Estébanez
3e5865660b
RenderingDevice: Reject creation of textures with no usage
2024-05-31 12:00:58 +02:00
Rémi Verschelde
17c98a5b08
Merge pull request #92110 from mihe/physics-server-margin
...
Bind shape margin methods for `PhysicsServer3D`
2024-05-30 22:38:26 +02:00
Yuri Rubinsky
aecc4cbc47
Prevent using built-ins for func names in shaders
2024-05-30 21:33:21 +03:00
Rémi Verschelde
4cd39c56fb
Merge pull request #92283 from KoBeWi/code_simpleton
...
Automatically use property count in PropertyListHelper
2024-05-30 11:47:58 +02:00
Rémi Verschelde
d1f6d4c8c3
Merge pull request #92339 from devloglogan/comp-layer-reference-frame
...
Apply reference frame transform to `OpenXRCompositionLayer` nodes
2024-05-29 22:13:56 +02:00
devloglogan
6a8f2f00ac
Apply reference frame transform to OpenXRCompositionLayer nodes
2024-05-29 07:52:54 -05:00
clayjohn
3b9d074fd7
Ensure MovieWriter output is in gamma space when using HDR 2D
2024-05-28 15:30:13 -07:00
Rémi Verschelde
1e6b11dcd4
Merge pull request #92287 from clayjohn/LOD-safe-fixes
...
Fix LOD selection in compatibility backend and clean up LOD code
2024-05-28 18:06:45 +02:00
Rémi Verschelde
86872f38c6
Merge pull request #92464 from Chaosus/shader_fix_struct_completion
...
Fix completion of functions with struct param/return type in shaders
2024-05-28 16:13:29 +02:00
Rudolph Bester
f666c76a9c
Fixed collided 3D GPU particles sometimes jittering
2024-05-28 14:09:08 +02:00
Yuri Rubinsky
246a760323
Fix completion of functions with struct param/return type in shaders
2024-05-28 12:13:25 +03:00
clayjohn
c6b08d462a
Separate linear and sRGB uniform buffers in RD rendering backends
2024-05-27 13:38:49 -07:00
Mateus Elias
ce10a660d1
Improve Mesh class description
...
- Bind MAX_MESH_SURFACES constant in RenderingServer::_bind_methods()
- Add MAX_MESH_SURFACES constant to RenderingServer class documentation
- Reference the constant RenderingServer.MAX_MESH_SURFACES in the description of Mesh class documentation
2024-05-26 21:52:39 -03:00
kobewi
b365a63403
Automatically use property count in PropertyListHelper
2024-05-25 10:51:37 +02:00
Rémi Verschelde
abfe8ba7d6
Merge pull request #92258 from DarioSamo/render_list_pass_alloc
...
Reduce allocations each time a render pass begins in RenderingDevice.
2024-05-23 23:25:51 +02:00
Rémi Verschelde
68c8e2eaf3
Merge pull request #92244 from jsjtxietian/blend-shape-shadow
...
Fix mesh instance not updated when changing blend shape values
2024-05-23 23:25:48 +02:00
clayjohn
267ea14616
Fix LOD selection in compatibility backend and clean up LOD code
2024-05-23 11:30:22 -07:00
Dario
ce4f19a034
Switch vectors in each render pass to use TLS.
2024-05-23 10:52:29 -03:00
bruvzg
628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled.
2024-05-23 15:23:18 +03:00
jsjtxietian
97af135f1b
Fix mesh instance not updated when changing blend shape values
2024-05-23 12:36:31 +08:00
Paulo Poiati
a3769c0edc
Properly set window class in Wayland
2024-05-22 10:42:12 -03:00
Rémi Verschelde
8e2141eac5
Merge pull request #92232 from clayjohn/RD-mobile-LOD
...
Only apply LOD when camera is outside the AABB of mesh in mobile renderer.
2024-05-22 09:27:03 +02:00
clayjohn
c5346a62b0
Only apply LOD when camera is outside the AABB of mesh in mobile renderer.
...
This copies the existing logic from the Forward+ renderer
2024-05-21 18:32:04 -07: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
008fd5fee6
Merge pull request #92078 from lawnjelly/increase_tight_cull_epsilon
...
Tight shadow culling - increase epsilon to prevent flickering
2024-05-21 11:22:47 +02:00
Dario
adabd14d08
Add support for enhanced barriers in D3D12.
...
Enables support for enhanced barriers if available.
Gets rid of the implementation of [CROSS_FAMILY_FALLBACK] in the D3D12 driver. The logic has been reimplemented at a higher level in RenderingDevice itself.
This fallback is only used if the RenderingDeviceDriver reports the API traits and the capability of sharing texture formats correctly. Aliases created in this way can only be used for sampling: never for writing. In most cases, the formats that do not support sharing do not support unordered access/storage writes in the first place.
2024-05-20 13:04:44 -03:00
Mikael Hermansson
a23717c8c6
Bind physics server methods related to shape margin
2024-05-19 12:28:26 +02:00
Rémi Verschelde
6aece8e1b6
Merge pull request #92045 from RandomShaper/context_getter
...
Add context getter to RenderingDevice
2024-05-18 17:41:38 +02:00
lawnjelly
512b0f16a3
Tight shadow culling - increase epsilon to prevent flickering
...
Near colinear triangles were still causing inaccuracy in culling planes, so the threshold for colinearity is bumped up.
2024-05-18 14:14:27 +01:00
Rémi Verschelde
d3e261523f
Merge pull request #88289 from DarioSamo/rd_minimized_window
...
Fix swap chain errors when application starts minimized.
2024-05-17 11:13:31 +02:00
Pedro J. Estébanez
ffa791c41f
Add context getter to RenderingDevice
2024-05-17 09:56:03 +02:00
Rémi Verschelde
5708a3a02e
Merge pull request #92000 from clayjohn/vram-debugger
...
Increase coverage of VRAM debugger and add support to RD backends
2024-05-16 09:32:11 +02:00
clayjohn
c84616c2d2
Increase coverage of VRAM debugger and add support to RD backends
2024-05-15 16:30:19 -07:00
Dario
61cd007cf4
Rewrite implementation for prepare for use commands to be skipped when not required by the API.
2024-05-15 14:34:52 -03:00
Rémi Verschelde
bdefe53992
Merge pull request #91909 from KoBeWi/have_fun_reviewing_this
...
Use Core/Scene stringnames consistently
2024-05-14 12:07:03 +02:00
Rémi Verschelde
a8c6eb36e9
Merge pull request #91896 from jsjtxietian/softbody-msg
...
Add useful error msg in `GodotSoftBody3D::set_mesh`
2024-05-14 12:06:55 +02:00
Rémi Verschelde
c9fdcde20f
Merge pull request #91642 from BastiaanOlij/fix_transparent_sky
...
Skip rendering sky if viewport is set to transparent background
2024-05-14 12:06:44 +02:00
Rémi Verschelde
db3c4a4612
Merge pull request #91514 from DarioSamo/adreno_workaround
...
Add optional driver workaround to RenderingDevice for Adreno 6XX.
2024-05-14 12:06:37 +02:00
jsjtxietian
d9399f59f5
Add useful error msg in `GodotSoftBody3D::set_mesh`
2024-05-14 11:43:09 +08:00
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
Dario
d5789e09eb
Add optional driver workaround to RenderingDevice for Adreno 6XX.
...
Co-authored-by: Clay John <claynjohn@gmail.com>
2024-05-13 10:20:31 -03:00
Yaohua Xiong
ed3d311687
Add antialias support for CanvasItem draw primitives
...
including
- rect, circle; both filled and unfilled.
- polyline, multiline
2024-05-13 19:03:31 +08:00
A Thousand Ships
7331187090
Fix `DisplayServer` overrides
2024-05-13 12:40:40 +02:00
Rémi Verschelde
c322a9b7ee
Merge pull request #91808 from DarioSamo/debug_mv_msaa
...
Do not use MSAA versions of textures on debug views.
2024-05-13 12:05:46 +02:00
Rémi Verschelde
32317f2607
Merge pull request #90549 from Calinou/displayserver-headless-suppress-warnings
...
Don't print warning messages for DisplayServer functions in headless mode
2024-05-13 12:05:30 +02:00
Bastiaan Olij
6efaaecde2
Skip rendering sky if viewport is set to transparent background
2024-05-13 11:04:06 +10:00
kobewi
a262d2d881
Add shorthand for using singleton string names
2024-05-11 18:53:08 +02:00
Dario
a3ecc86f47
Do not use MSAA versions of textures on debug views.
2024-05-10 14:01:58 -03:00
Dario
3f64eeb393
Rewrite reprojection for FSR2 to work correctly with Reverse-Z.
2024-05-10 11:57:27 -03:00
Rémi Verschelde
2ba22d1554
Merge pull request #91790 from lawnjelly/fix_tight_light_cull_directional_colinear4
...
Tighter light culling - fix directional lights colinear case
2024-05-10 10:48:54 +02:00
Gilles Roudière
7705265477
Fix PropertyListHelper::_get_property returning a valid value even if an index is outside the array valid indices
...
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-05-10 10:46:04 +02:00
lawnjelly
a76243a549
Tighter light culling - fix directional lights colinear case
...
Exactly the same fix as done already for non-directional lights.
2024-05-10 09:13:05 +01:00
Pedro J. Estébanez
1589433e8f
Apply additional fixes to servers' threading
2024-05-08 17:41:40 +02:00
A Thousand Ships
a0dbdcc3ab
Replace `find` with `contains/has` where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02: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
259d576f6e
Merge pull request #91480 from clayjohn/Mobile-mipmaps-bug
...
Use a full screen triangle for mipmap calculations in mobile renderer
2024-05-07 14:25:42 +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
Rémi Verschelde
e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
...
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
A Thousand Ships
86de59d60a
[Core] Add `LocalVector::has` for convenience
2024-05-06 18:03:37 +02:00
Marcel Offermans
2bb34a4489
Added a project setting to configure the maximum amount of timestamps, with a description and a reference to the setting when the limit is hit and an ERR_FAIL_COND is hit.
2024-05-05 09:09:04 +02:00
Rob Blanckaert
64c04d95aa
Fix shader error on mobile when using LIGHT_VERTEX
2024-05-04 11:02:05 -07:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to `List`
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Rémi Verschelde
7ebc866418
Merge pull request #91545 from clayjohn/RD-shadow-atlas
...
Properly set size of shadow atlas quadrant when subdivision is 8 or higher.
2024-05-04 11:52:45 +02:00
Rémi Verschelde
f236b9badc
Merge pull request #91530 from DarioSamo/timestamp_validation
...
Add draw and dispatch count to timestamp validation.
2024-05-04 11:52:41 +02:00
Rémi Verschelde
a2fc5e2d78
Merge pull request #89894 from BastiaanOlij/improve_foveated_rendering
...
Improvements to VRS/Foveated rendering
2024-05-04 11:52:15 +02:00
clayjohn
caeef3473b
Properly set size of shadow atlas quadrant when subdivision is 8 or higher.
...
Also fix renderpass rect validation
2024-05-03 17:11:05 -07:00
Dario
c41e407e61
Add draw and dispatch count to timestamp validation.
2024-05-03 14:23:38 -03:00
Rémi Verschelde
03e6fbb010
Merge pull request #85474 from fire/packedvector4array
...
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00
Bastiaan Olij
9042ddf19f
Improvements to VRS/Foveated rendering
2024-05-03 17:20:30 +10:00
A Thousand Ships
6ff6a11424
[Rendering] Add hints to some uniform `PropertyInfo`s
...
* Enforce range on `int/uint`
* Use flags for `bvec2/3/4` arrays
2024-05-03 08:56:47 +02:00
Rémi Verschelde
25fe3d4b46
Merge pull request #81639 from MJacred/is_letter
...
Add `is_valid_letter()` to `TextServer`
2024-05-03 01:21:34 +02:00
K. S. Ernest (iFire) Lee
f9b488508c
Add PackedVector4Array Variant type
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
clayjohn
bebf85487e
Use a full screen triangle for mipmap calculations in mobile renderer
2024-05-02 13:17:09 -07:00
MJacred
717513a62d
Add is_valid_letter() to TextServer
2024-05-02 21:32:20 +02:00
bruvzg
e5205e589f
[StatusIndicator] Add method to get indicator icon screen rect.
2024-05-02 14:39:33 +03:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
...
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
Rémi Verschelde
f91db3dc58
Merge pull request #91399 from QbieShay/qbe/fix-pmul-name
...
Revert premul alpha to spell without the T
2024-05-01 23:47:46 +02:00
QbieShay
e41064388e
reverted naming to premul alpha (no T)
...
Initially 3d had premulT alpha as a keyword.
Since Canvas item uses mixed premul and premult as keywords,
3D is changed as well to keep consistency with 2D.
Unfortunately this keeps inconsistency with the internal ENUM.
2024-05-01 22:24:49 +02:00
Chris Clyne
44364faee5
Ensure global shader sampler parameters are initialized when loading the editor
2024-05-01 18:12:46 +01:00
Rémi Verschelde
3ebef6ce7a
Merge pull request #91372 from clayjohn/RS-blend-shape-tangent
...
Enable tangents in blend shape format when using normals
2024-05-01 09:55:24 +02:00
Rémi Verschelde
7733ecd1ee
Merge pull request #91344 from tactical-fluke/vk_fix_unshaded_sdfgi
...
Fix SDFGI being used in unshaded debug draw
2024-05-01 09:55:18 +02:00
Rémi Verschelde
70247adf25
Merge pull request #89734 from BastiaanOlij/openxr_reorder_wait_frame
...
OpenXR: Change timing of xrWaitFrame and fix XR multithreading issues
2024-05-01 09:54:51 +02:00
Rémi Verschelde
85062e37ef
Merge pull request #89588 from bruvzg/status_ind_menu_direct
...
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly.
2024-05-01 09:54:44 +02:00
Bastiaan Olij
cbab7dc049
OpenXR: Change timing of xrWaitFrame and add thread safety features to OpenXR
2024-05-01 14:24:41 +10:00
QbieShay
41a2b0e83e
Added premult alpha blending to 3D (spatial) shaders.
...
Co-authored-by: jitspoe <jitspoe@yahoo.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2024-05-01 00:53:29 +02:00
clayjohn
e6f55a532a
Enable tangents in blend shape format when using normals
2024-04-30 12:14:49 -07:00
tactical-fluke
216c9a6bd9
Fix SDFGI being used in unshaded debug draw
...
Fixes #62758
2024-04-30 11:28:29 +08:00
Dario
21bd59cdaa
Fix incorrect memory read when capacity changes in RD Graph.
2024-04-29 10:48:48 -03:00
Rémi Verschelde
947f5a8741
Merge pull request #91247 from AThousandShips/callable_fix
...
Fix unsafe uses of `Callable.is_null()`
2024-04-29 10:10:32 +02:00
Rémi Verschelde
9f336a2953
Merge pull request #91219 from Lateasusual/particle-height-field-upside-down
...
Fix inverted GPUParticlesCollisionHeightField3D
2024-04-29 10:10:12 +02:00
Rémi Verschelde
7cd6ea0f7e
Merge pull request #91183 from KoBeWi/small_stuff
...
Misc code cleanup
2024-04-29 10:09:57 +02:00
A Thousand Ships
31e7ee63f2
Fix unsafe uses of `Callable.is_null()`
...
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +02:00
Chris Clyne
1ca0eeac28
Fix inverted GPUParticlesCollisionHeightField3D
2024-04-26 17:30:50 +01:00
kobewi
914528180f
Misc code cleanup
2024-04-26 15:30:21 +02:00
Bastiaan Olij
d2d22748b4
Fix issue in shadow to opacity
2024-04-26 21:54:26 +10:00
Rémi Verschelde
853740e2ad
Merge pull request #91191 from clayjohn/RD-soft-shadows
...
Properly calculate penumbra for soft shadows with reverse z
2024-04-26 11:09:02 +02:00
Rémi Verschelde
a07f89bfb2
Merge pull request #91176 from clayjohn/GL-adjustments
...
Add adjustments and color correction to Compatibility renderer
2024-04-26 11:08:56 +02:00
Rémi Verschelde
0d589abcbd
Merge pull request #91130 from Malcolmnixon/xrhandtracker-dotnet-name-collision
...
Remove the Hand enum from XRHandTracker
2024-04-26 11:08:44 +02:00
Rémi Verschelde
22c8a2785d
Merge pull request #90920 from clayjohn/2D-light-cull
...
Exit light calculation early when pixel outside of light bounding rectangle
2024-04-26 11:08:29 +02:00
clayjohn
4e5e81c7d4
Properly calculate penumbra for soft shadows with reverse z
...
Also fix a related bug where the DirectionalLight3D size was ignored unless a positional light with soft shadows touched the mesh
2024-04-25 17:06:49 -07:00
Malcolm Nixon
e00e5c0386
Remove the Hand enum from XRHandTracker to fix name-collision with the hand property of the base class.
...
Co-Authored-By: David Snopek <191561+dsnopek@users.noreply.github.com>
2024-04-25 19:38:57 -04:00
clayjohn
e8bb0a5719
Add adjustments and color correction to Compatibility renderer
2024-04-25 12:24:51 -07:00
Rob Blanckaert
ffe0b869f5
Add LIGHT_VERTEX to fragment shader
...
Adds a new variable to the fragment shader to specify
the vertex position used when calculating lighting.
2024-04-25 06:56:02 -07:00
Rémi Verschelde
a754bbc565
Merge pull request #91059 from BastiaanOlij/fix_multiview_copy
...
Fix issue with copy shader not working in multiview
2024-04-23 19:12:24 +02:00
Rémi Verschelde
258be6d762
Merge pull request #90911 from clayjohn/RD-tex-copy
...
Ensure minimum block size is respected when doing GPU to CPU copies of compressed textures
2024-04-23 19:11:51 +02:00
Rémi Verschelde
99cff796ea
Merge pull request #90883 from cosparks/fix-sdf-collision-2d
...
Fix LightOccluder2D SDF Collision Enable/Disable
2024-04-23 19:11:40 +02:00
Rémi Verschelde
a55ffba31b
Merge pull request #90620 from thimenesup/fix_push_constant
...
Fix incorrect bounds check in RenderingDevice push constant
2024-04-23 19:11:17 +02:00
Bastiaan Olij
226ca2f04c
Fix issue with copy shader not working in multiview
2024-04-23 21:46:39 +10:00
cosparks
6d0dca76c0
Fixes SDF Collision Enable/Disable
...
- sets LightOccluderInstance field when sdf collision is updated
- adds check for light occluder sdf_collision field in 2d renderers
2024-04-22 20:27:56 -07:00
bruvzg
a116801ec7
Improve TextEdit/LineEdit word selection.
2024-04-22 14:02:07 +03:00
Rémi Verschelde
bffaa98b13
Merge pull request #90645 from Malcolmnixon/unified-xr-trackers
...
Rework XR Trackers to have a common ancestor
2024-04-22 12:52:07 +02:00
clayjohn
506e93a207
Exit light calculation early when pixel outside of light bounding rectangle
...
This hugely improves the performance of rendering PointLight2Ds
2024-04-19 16:10:11 -07:00
clayjohn
c52e217cd3
Ensure minimum block size is respected when doing GPU to CPU copies of compressed textures
2024-04-19 10:17:17 -07:00
Rémi Verschelde
fba6803486
Merge pull request #90876 from smix8/source_geometry_callback
...
Add navigation mesh source geometry parsers and callbacks
2024-04-19 16:28:30 +02:00
Rémi Verschelde
993d15da17
Merge pull request #90821 from clayjohn/RD-clip-children-rect
...
Use a src rect for copying from screen with CanvasGroup in the mobile backend
2024-04-19 16:27:41 +02:00
smix8
58593d1bb7
Add navigation source geometry parser callbacks
...
Adds navigation source geometry parser callbacks so that externals can hook their own geometry into the navigation mesh baking process.
2024-04-19 12:10:57 +02:00
Malcolm Nixon
823ae7b3fa
Rework XR Trackers to have a common ancestor. Allow creation of XRNode3D to drive node positions and visibility.
2024-04-18 20:04:01 -04:00
Rémi Verschelde
9c05ff2952
Merge pull request #90828 from clayjohn/RD-draw_list_depth
...
Revert change to default depth clear value in `draw_list_begin()`
2024-04-18 12:24:56 +02:00
Rémi Verschelde
043ca7c63c
Merge pull request #88306 from KoBeWi/PropertyListHelper_will_come_for_you
...
Add PropertyListHelper in all simple cases
2024-04-18 12:24:17 +02:00
clayjohn
eb62c5b27f
Revert change to default depth clear value in draw_list_begin
2024-04-17 19:08:22 -07:00
clayjohn
adfc9ccc44
Use a src rect for copying from screen with CanvasGroup in the mobile backend
2024-04-17 15:19:20 -07:00
Rémi Verschelde
acd3d2497f
Merge pull request #90791 from timothyqiu/see-you-again
...
Fix potential infinite loop when using global menu
2024-04-17 20:26:34 +02:00
Haoyu Qiu
43ed8d4768
Fix potential infinite loop when using global menu
2024-04-17 20:11:57 +08:00
Oxi
1815871b90
Fixed unshaded mode lightmaps
2024-04-17 10:38:54 +01:00
Rémi Verschelde
093d06480a
Merge pull request #90763 from Calinou/worldboundaryshape-increase-size
...
Increase size of WorldBoundaryShape to be much larger
2024-04-17 10:59:13 +02:00
Rémi Verschelde
ce13f0c033
Merge pull request #90749 from kleonc/y-sort-branch-root-transform-fix
...
Fix rendering transform of Y-sorted branch-root
2024-04-17 10:58:58 +02:00
Hugo Locurcio
74aeab5385
Increase size of WorldBoundaryShape to be much larger
...
The size was previously 20,000 pixels or units, which could be easily
reached in many projects. It is now 2,000,000,000,000,000 pixels or units,
which is larger than the supported coordinate space with a single-precision
build, and still very large in a double precision build.
2024-04-16 18:26:46 +02:00
kleonc
983cdb2f54
Fix transform of Y-sorted branch-root
2024-04-16 14:26:47 +02:00
Rémi Verschelde
09825bcc1a
Merge pull request #90729 from aaronfranke/move-nav-msgd
...
Move NavigationMeshSourceGeometryData(2D/3D) to the 2D/3D subfolders
2024-04-16 13:30:57 +02:00
Rémi Verschelde
8901e8776a
Merge pull request #90587 from clayjohn/reversez-shader-warn
...
Warn users when assigning `VERTEX` directly to `POSITION` due to compatibility breakage from Reverse Z changes
2024-04-16 13:30:47 +02:00
Aaron Franke
77e35cf781
Move NavigationMeshSourceGeometryData(2D/3D) to the 2D/3D subfolders
2024-04-15 18:40:43 -07:00
Rémi Verschelde
c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
...
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
Hugo Locurcio
c3a4b4c5ae
Don't print warning messages for DisplayServer functions in headless mode
...
DisplayServer methods that only have a cosmetic effect print a warning (instead
of an error). These warnings can be silenced in headless mode, as it's assumed
that the cosmetic effect is undesired in headless mode anyway (e.g. changing
mouse cursor shape).
This prevents spurious warnings from appearing when running the editor in
headless mode, e.g. on CI to export a project.
Methods that print an error will continue to do so, as their
returned value may not match expectations and have cascading consequences
on the project (e.g. clipboard data not being retrievable).
2024-04-13 18:18:47 +02:00
thimenesup
1ab5a47347
Fix incorrect bounds check in rendering device push constant
2024-04-13 14:53:19 +02:00
clayjohn
2f83b400a8
Warn users when assigning VERTEX directly to POSITION due to compatibility breakage from reverse z changes
2024-04-12 10:38:35 -07:00
kobewi
e95e954c68
Add PropertyListHelper in all simple cases
2024-04-11 18:13:29 +02:00
smix8
1c134f4a3d
Add navigation path simplification
...
Adds navigation path simplification for NavigationServer and NavigationAgent.
2024-04-11 12:32:21 +02:00
Juan Linietsky
65686dedf9
Use WorkerThreadPool for Server threads
...
* Servers now use WorkerThreadPool for background computation.
* This helps keep the number of threads used fixed at all times.
* It also ensures everything works on HTML5 with threads.
* And makes it easier to support disabling threads for also HTML5.
CommandQueueMT now syncs with the servers via the WorkerThreadPool
yielding mechanism, which makes its classic main sync semaphore
superfluous.
Also, some warnings about calls that kill performance when using
threaded rendering are removed because there's a mechanism that
warns about that in a more general fashion.
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2024-04-10 18:47:42 +02:00
Pedro J. Estébanez
c28f5901c7
Polish interaction between windowing, input and rendering
...
- Adapt GL make/release API to the current architecture.
- Fix DisplayServer being locked while dispatching input (prevent deadlocks).
2024-04-10 18:47:42 +02:00
Rémi Verschelde
5c75fa260f
Merge pull request #90458 from clayjohn/RD-weight-buffer
...
Clear RIDs of weight buffers when freeing to avoid double free
2024-04-10 14:22:37 +02:00
Rémi Verschelde
258f2705f6
Merge pull request #90440 from Calinou/geometryinstance3d-fix-custom-aabb-assignment
...
Fix GeometryInstance3D Custom AABB assignment in the editor not working
2024-04-10 14:22:33 +02:00
Rémi Verschelde
50b89e6c56
Merge pull request #89752 from ze2j/fix_false_positive_errors_in_gdshaderinc_files
...
Fix false positive errors in gdshaderinc files
2024-04-10 14:22:00 +02:00
Rémi Verschelde
c59f493620
Merge pull request #89729 from jitspoe/master.shadow_distance_fade_optimization
...
Shadow fade for omni lights actually stops the shadow from updating while faded out to improve performance.
2024-04-10 14:21:56 +02:00
clayjohn
bafbde9f4b
Clear RIDs of weight buffers when freeing to avoid double free
2024-04-09 17:52:05 -07:00
Hugo Locurcio
084b8d1246
Fix GeometryInstance3D Custom AABB assignment in the editor not working
...
This also fixes error spam when changing Custom AABB on a MeshInstance3D
that has no Mesh resource assigned yet (which is allowed in the editor).
This avoids pitfalls when assigning a custom AABB in a script when
loading meshes at runtime.
2024-04-09 19:02:43 +02:00
Rémi Verschelde
9cba6ec216
Merge pull request #89491 from thimenesup/compute_dispatch_indirect
...
Expose bindings to compute dispatch indirect of rendering device
2024-04-09 10:42:22 +02:00
thimenesup
8017c8cf21
Expose bindings to compute dispatch indirect rendering device
2024-04-08 20:46:53 +02:00
jsjtxietian
5a5453bcf2
Fixes `RenderingDevice::get_driver_resource` will crash or give incorrect result with certain resources
2024-04-08 12:31:22 +08:00
Rémi Verschelde
c1b2cfdced
Merge pull request #90271 from DarioSamo/pipeline_cache_setting
...
Add toggle for enabling or disabling RenderingDevice's pipeline cache.
2024-04-06 13:06:47 +02:00
Rémi Verschelde
10d67e590d
Merge pull request #90191 from BastiaanOlij/fix_mobile_canvas_copy
...
Don't use subpasses when we're using Canvas background mode in Mobile
2024-04-06 13:06:37 +02:00
Dario
ecaafa6001
Add toggle for enabling or disabling RenderingDevice's pipeline cache.
2024-04-05 13:14:07 -03:00
Rémi Verschelde
ca2d28602b
Merge pull request #90196 from bruvzg/ts_tcase
...
[TextServer] Expose ICU title case string conversion to scripting.
2024-04-05 12:16:18 +02:00
Rémi Verschelde
b5064a6160
Merge pull request #89714 from lawnjelly/tighter_light_cull_colinear_fix
...
Tighter shadow culling - fix light colinear to frustum edge
2024-04-05 12:15:53 +02:00
Rémi Verschelde
0c71ba7801
Merge pull request #89880 from dsnopek/openxr-composition-layers-node3d-drs
...
Add support for OpenXR composition layers
2024-04-04 17:09:07 +02:00
David Snopek
0f2b804059
Add support for OpenXR composition layers
...
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-04-04 09:20:23 -05:00
Rémi Verschelde
7a42afbba0
Merge pull request #90200 from smix8/debug_enabled
...
Fix `NavigationServer.set_debug_enabled()` doing nothing
2024-04-04 14:37:35 +02:00
Rémi Verschelde
550f5a577f
Merge pull request #90055 from Sauermann/fix-add-tbg-check
...
Add early return when setting `transparent_bg`
2024-04-04 14:36:54 +02:00
Rémi Verschelde
d604899be8
Merge pull request #89960 from Mknsri/fix/cylinder_face_edge_point_collision
...
Fix separating axes for 3D cylinder-face collisions
2024-04-04 14:35:34 +02:00
Rémi Verschelde
64c4a53a2c
Merge pull request #89849 from EIREXE/cute_and_funny_decals
...
Fix decal modulate being passed as srgb instead of as linear color.
2024-04-04 14:31:53 +02:00
Rémi Verschelde
a28be933ee
Merge pull request #89398 from clayjohn/visual-debugger-coverage
...
Increase coverage of timestamps for visual profiler
2024-04-04 14:31:19 +02:00
Rémi Verschelde
69a4ff8996
Merge pull request #88328 from Khasehemwy/reversed-z
...
Use Reverse Z for the depth buffer
2024-04-04 14:30:53 +02:00
Khasehemwy
d950f5f838
Use Reverse Z for the depth buffer
2024-04-04 13:54:15 +02:00
smix8
282d772f1b
Fix NavigationServer.set_debug_enabled() doing nothing
...
Fixes NavigationServer.set_debug_enabled() doing nothing because it was not updated for newer dirty flags.
2024-04-04 13:47:06 +02:00
bruvzg
27f6f4147b
[TextServer] Expose ICU title case string conversion to scripting.
2024-04-04 10:56:49 +03:00
Bastiaan Olij
9e9a6fb6d6
Can't use subpasses when we're using Canvas background mode in Mobile
2024-04-04 15:59:11 +11:00
clayjohn
ac6c648645
Increase coverage of timestamps for visual profiler
2024-04-03 19:29:02 -07:00
lawnjelly
691854d589
Jitter raster occlusion camera to reduce false positives.
...
Due to the low resolution of the occlusion buffer, small gaps between occluders can be closed and incorrectly occlude instances which should show through the gaps. To ameliorate this problem, this PR jitters the occlusion buffer over time, making it more likely an instance will be seen through a gap. This is used in conjunction with an occlusion timer per instance, to prevent instances flickering on and off rapidly.
2024-04-03 12:18:45 +01:00
Markus Mikonsaari
3f69af9e64
Fix separating axes for 3D cylinder-face collisions
...
When checking for lateral surfaces of a cylinder against the points on a
face, the axis projection does not remove the cylinder position. This
results in the axis pointing to the wrong direction and reports
collisions when there shouldn't be.
2024-04-01 21:47:54 +03:00
Markus Sauermann
d14a84a166
Add early return when setting `transparent_bg`
...
Fix memory leak on Mac.
2024-03-30 22:33:54 +01:00
Rémi Verschelde
7092230df6
Merge pull request #89907 from bruvzg/nat_dlg_ftr_flags
...
[DisplayServer] Add separate feature flags for different native dialog types.
2024-03-28 10:47:15 +01:00
Rémi Verschelde
df6f4ce5e9
Merge pull request #89851 from rburing/bind_6dof_enums
...
Bind constants related to 6DOF joints
2024-03-28 10:47:11 +01:00
bruvzg
dc01658ee9
[DisplayServer] Add separate feature flags for different native dialog types.
2024-03-26 15:18:06 +02:00
Rémi Verschelde
7d151c8381
Merge pull request #89902 from timothyqiu/not-available
...
Return `ERR_UNAVAILABLE` if native dialog is not supported
2024-03-26 13:45:53 +01:00
Rémi Verschelde
bad1f4aae5
Merge pull request #89900 from bruvzg/nmenu_move
...
[NativeMenu] Move files to the `display` subfolder.
2024-03-26 13:45:46 +01:00
Rémi Verschelde
2597f60de1
Merge pull request #88830 from beiller/bugfix/taa_xr_fix
...
Add fix for TAA passes rendering black meshes on XR
2024-03-26 13:45:10 +01:00
Haoyu Qiu
7118fb9cda
Return ERR_UNAVAILABLE if native dialog is not supported
2024-03-26 18:45:51 +08:00
bruvzg
399899a095
[NativeMenu] Move files to the `display` subfolder.
2024-03-26 10:18:08 +02:00
jitspoe
a0969a0931
Shadow fade for omni lights actually stops the shadow from updating while faded out to improve performance.
2024-03-25 21:25:56 -04:00
Rémi Verschelde
80a5da5242
Merge pull request #89088 from lander-vr/limiter
...
Add AudioEffectHardLimiter as a rework of audio limiter effect
2024-03-25 15:25:39 +01:00
landervr
61a5d52388
Add AudioEffectHardLimiter as a rework of audio limiter effect
2024-03-25 13:37:03 +01:00
bruvzg
5851f1e2dd
[MenuBar] Use NativeMenu RIDs instead of indices to track items.
2024-03-25 10:58:05 +02:00
Ricardo Buring
38a31f4cb5
Bind constants related to 6DOF joints
...
This makes physics server GDExtensions able to use the enums without
workarounds.
2024-03-24 15:16:33 +01:00
Álex Román Núñez
2f0ba1ed3f
Fix decal modulate being passed as srgb instead of as linear color.
2024-03-24 14:59:43 +01:00
Rémi Verschelde
c3370023b6
Merge pull request #89692 from Scony/baking-crash-prevention
...
Add navigation baking crash prevention mechanism
2024-03-24 01:21:56 +01:00
Rémi Verschelde
70c05f63da
Merge pull request #89531 from sullyscience/fix-resource-leaks
...
Fix mobile renderer RID leaks
2024-03-24 01:16:48 +01:00
Rémi Verschelde
cd4e4c0fcc
Merge pull request #89111 from AThousandShips/vec_use
...
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-24 01:14:51 +01:00
Pawel Lampe
64fc9e2156
Add navigation baking crash prevention mechanism
2024-03-23 22:20:00 +01:00
Ricardo Buring
2ed2ccc2d8
Fixed Timestep Interpolation (2D)
...
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
ze2j
993cd25ff2
Fix false positive errors in gdshaderinc files
...
These language features are wrongly detected as errors (not supported)
when used in gdshaderinc files:
- instance uniforms
- hint_normal_roughness_texture
- hint_depth_texture
This type of error should only occur when the shader type is not spatial
and not a gdshaderinc file.
2024-03-21 15:46:41 +01:00
lawnjelly
70cd25f3eb
Tighter shadow culling - fix light colinear to frustum edge
...
In rare situations if a light is placed near colinear to a frustum edge, the extra culling plane derived can have an inaccurate normal due to floating point error.
This PR detects colinear triangles, and prevents adding a culling plane in this situation.
2024-03-20 16:47:54 +00:00
A Thousand Ships
79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-20 13:47:42 +01:00
bruvzg
0587a1d217
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly.
2024-03-20 11:56:07 +02:00
David Sullivan
dfa326ef55
Fix: Address mobile resource leaks in render
...
Update render_forward_mobile destructor to include instance buffers.
Update render_scene_buffers_rd cleanup to include weight buffers / blur
textures.
2024-03-15 14:48:12 -04:00
Mikael Hermansson
7901a0524b
Allow for 32 max collisions in `test_body_motion`
2024-03-15 15:40:42 +01:00
Rémi Verschelde
3e79cdbee2
Merge pull request #89450 from RandomShaper/fix_inside_lights
...
Fix missed light clusters when inside clipped lights
2024-03-14 22:34:56 +01:00
Rémi Verschelde
4ca6cd054f
Merge pull request #89273 from bruvzg/win_native_menu
...
[NativeMenu] Implement native popup menu support on Windows.
2024-03-14 22:34:42 +01:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
...
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Pedro J. Estébanez
605fdb655c
Fix missed light clusters when inside clipped lights
2024-03-13 23:38:46 +01:00
Rémi Verschelde
1030f1f6db
Merge pull request #89411 from aaronfranke/disable-3d-xr
...
Disable XR server when compiling without 3D
2024-03-13 18:41:31 +01:00
Aaron Franke
9e0b38ecd3
Disable XR server when compiling without 3D
2024-03-13 09:02:10 -07:00
bruvzg
3bb5047db3
[TextServer] Use GDVIRTUAL_REQUIRED_CALL for required extensions methods, update extension docs.
2024-03-13 12:57:39 +02:00
bruvzg
ac7583e449
[NativeMenu] Implement native popup menu support on Windows.
2024-03-13 10:51:38 +02:00
Pedro J. Estébanez
49625beac2
Ensure specialization constants come sorted from reflection
2024-03-12 14:42:01 +01:00
Rémi Verschelde
061e0c758d
Merge pull request #89395 from bruvzg/rtl_ts_img_range
...
[RTL] Use "visible characters" property for inline object visibility
2024-03-12 14:23:03 +01:00
bruvzg
433de7f1a8
[RTL] Use "visible characters" property for inline object visibility
2024-03-12 11:28:45 +02:00
Rémi Verschelde
d5856f864f
Merge pull request #89383 from bruvzg/font_no_bitmaps
...
[Font] Add option to disable embedded bitmaps loading.
2024-03-11 23:48:17 +01:00
bruvzg
911fa38d3a
[Font] Add option to disable embedded bitmaps loading.
2024-03-11 16:31:10 +02:00
Rémi Verschelde
f040a351c2
Merge pull request #89381 from aaronfranke/disable-3d
...
Disable all 3D nodes, physics, and resources when compiling without 3D
2024-03-11 14:02:57 +01:00