Commit graph

5209 commits

Author SHA1 Message Date
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 PropertyInfos
* 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
Aaron Franke
6aac3e4a16 Disable all 3D nodes, physics, and resources when compiling without 3D 2024-03-11 01:00:55 -07:00
Bastiaan Olij
df8ff797b7 Consistantly use USE_MULTIVIEW as the define in shaders 2024-03-11 14:40:00 +11:00
Rémi Verschelde
5c6614fd52
Merge pull request #89281 from permelin/fix-lm-capture-octant
Fix lightmap captures not applied in one octant
2024-03-09 00:52:19 +01:00
Rémi Verschelde
ffc41fb76d
Merge pull request #89277 from RandomShaper/rdd_public_shader_desc
Make `ShaderDescription` and related types public
2024-03-08 13:09:50 +01:00
Rémi Verschelde
f8140a4e9a
Merge pull request #89253 from Calinou/debug-draw-modes-ignore-decals-2
Make Overdraw, Lighting and Shadow Splits debug draw modes ignore decals
2024-03-08 13:09:40 +01:00
Rémi Verschelde
cebaf9dac5
Merge pull request #89042 from permelin/fix-particle-trail-activation
Fix early activation of particle trail sections
2024-03-08 13:09:25 +01:00
Per Melin
46610117d3 Fix lightmap capture not applied in one octant
GI from probe captures was not applied to dynamic objects in the (-,-,-)
octant of the lightmap. If the object had traveled from a different part
of the lightmap, it would simply not update anymore and kept whatever
ambient light it had from before. If the object on the other hand came
from outside of the lightmap into this octant, it would receive no
ambient light at all.
2024-03-08 12:43:38 +01:00
Pedro J. Estébanez
560e79c67f Make ShaderDescription and related types public 2024-03-08 09:55:44 +01:00
Thaddeus Crews
9903e6779b
Enforce template syntax typename over class 2024-03-07 22:39:09 -06:00
Hugo Locurcio
26a220bd31
Make Overdraw, Lighting and Shadow Splits debug draw modes ignore decals
This also makes the Overdraw and Shadow Splits debug draw modes ignore fog.
The Lighting debug draw mode still displays fog as that debug draw mode
is intended to preview scene lighting, and fog has an impact on how
lighting is perceived.
2024-03-07 17:40:49 +01:00
bruvzg
da02ca7e75
[NativeMenu] Add checks to avoid unnecessary warnings.
Added by Rémi: Add dummy NativeMenu to DisplayServerHeadless,
fixing crashes when using `--headless`.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-03-07 00:23:26 +01:00
Rémi Verschelde
ec55028f26
Merge pull request #89209 from RandomShaper/padding_for_dummies
Make shader binary alignment handling simpler and more robust
2024-03-06 13:17:09 +01:00
Rémi Verschelde
a735c51c3c
Merge pull request #88658 from akien-mga/fix-audio-effect-pitch-shift-Wstring-overflow-take-2
AudioEffectPitchShift: Actually fix `-Wstringop-overflow warning`
2024-03-06 13:16:56 +01:00
Rémi Verschelde
13954fc33e
Merge pull request #87452 from bruvzg/native_menu
Move `global_menu_*` methods to a separate `NativeMenu` class.
2024-03-06 13:16:52 +01:00
Pedro J. Estébanez
f77b4d155b Make shader binary alignment handling simpler and more robust
Bonus:
Also simplified the rounding to block size in image size calculations.
2024-03-06 11:48:23 +01:00
Rémi Verschelde
e74f4ea115
Vulkan: Don't warn about pipelines cache if missing
It used to warn when opening a new project because no cache pre-exists,
which isn't particularly helpful.

Also include the rendering method in the cache filename, as it differs
between Forward+ and Mobile for a same GPU.
2024-03-05 16:39:14 +01:00
Rémi Verschelde
a52e575652
Merge pull request #89134 from BastiaanOlij/fix_recursive_reflection_probes
Fix never ending loop with overlapping probes
2024-03-05 09:56:05 +01:00
Rémi Verschelde
2d408f48e7
Merge pull request #88546 from bruvzg/indent_wrap
[TextEdit] Add support for optional wrapped line indentation.
2024-03-05 09:55:51 +01:00
Bastiaan Olij
a5d3d23db4 Fix never ending loop with overlapping probes 2024-03-05 10:07:56 +11:00
bruvzg
c65a667924
Move global_menu_* methods to a separate NativeMenu class. 2024-03-04 23:41:41 +02:00
Rémi Verschelde
3be5d9b01a
Merge pull request #89046 from permelin/fix-particle-aabb-recalc-with-userdata
Fix error in AABB calculation for particles with USERDATA
2024-03-04 13:33:33 +01:00
markdibarry
a62870956a Add new Parallax2D node 2024-03-03 15:46:40 -05:00
Per Melin
853935a5c9 Fix error in AABB calculation for particles with USERDATA
Selecting "Generate AABB" on a 3D particle node in the editor would not work
and printed an error about incorrect buffer size if the particle shader used
one or more of the USERDATA build-ins.
2024-03-02 14:26:09 +01:00
Per Melin
9b2d77a238 Initialize particle trail history frame numbers
Fixes #88712

All particle trail sections were activated at once on the first cycle, instead
of being spread out over the trail's lifetime.
2024-03-01 19:32:43 +01:00
Rémi Verschelde
0618bff394
Merge pull request #86777 from Mickeon/autocomplete-classdb
Add autocompletion for ClassDB & AudioServer
2024-03-01 14:56:12 +01:00
Rémi Verschelde
c1377920cd
Merge pull request #86743 from Mickeon/autocompletion-optimise-object
Optimise comparisons for Object's `get_argument_options`
2024-03-01 14:56:06 +01:00
bitsawer
89d772a799
Fix Volumetric Fog VoxelGI updates 2024-03-01 14:47:15 +01:00
Micky
920dff3445 Add autocompletion for ClassDB & AudioServer 2024-02-29 20:48:06 +01:00
Micky
cd2032a90b Optimise Object's get_argument_options 2024-02-29 18:00:54 +01:00
Rémi Verschelde
b5d30f9efe
Merge pull request #88996 from jsjtxietian/fix-doctool
Change shader compiler default setting to avoid doctool error
2024-02-29 13:55:16 +01:00
Rémi Verschelde
6d9a529c87
Merge pull request #88970 from KoBeWi/ImageCursor2D
Improve `cursor_set_custom_image()` method
2024-02-29 13:54:53 +01:00
jsjtxietian
0ed341cd1e Change shader compiler default setting to avoid doctool error 2024-02-29 11:01:56 +08:00
kobewi
3aeb4a5542 Improve cursor_set_custom_image() method 2024-02-28 20:32:25 +01:00
Rémi Verschelde
3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0 2024-02-28 14:25:35 +01:00
Rémi Verschelde
df78c0636d
Merge pull request #88798 from Malcolmnixon/xr-body-tracker
XR: Add body tracking support.
2024-02-28 09:34:40 +01:00
Malcolm Nixon
57aa734562 Add body tracking support. 2024-02-27 19:51:59 -05:00
blackbird806
e2f1af8742
Remove self includes in some files 2024-02-27 17:10:54 +01:00
Rémi Verschelde
cfe344f12f
Merge pull request #87872 from RandomShaper/d3d12_tex_mem_is_life
Direct3D 12: Enhance management of texture data life cycle
2024-02-27 16:36:59 +01:00
Pedro J. Estébanez
d47021ac6c Direct3D 12: Enhance management of texture data life cycle 2024-02-27 15:45:19 +01:00
Rémi Verschelde
8f98ed65f7
Merge pull request #88738 from clayjohn/mesh_compression-tangents
Multiple fixes for compressed meshes
2024-02-27 10:17:43 +01:00
Rémi Verschelde
b21328d465
Merge pull request #88725 from clayjohn/GLTF-binormal-sign
Properly calculate binormal when creating SurfaceTool from arrays
2024-02-27 10:17:39 +01:00
bruvzg
dad4aae386
[TextEdit] Add support for optional wrapped line indentation. 2024-02-26 08:20:14 +02:00
Bill
b44f1c5176 Add fix for TAA passes rendering black meshes on XR 2024-02-25 14:25:49 -05:00
clayjohn
f267b2aa87 Properly calculate binormal when creating SurfaceTool from arrays 2024-02-23 21:19:21 -08:00
clayjohn
781cd27fe4 Avoid singularity when generated tangents and validate that tangents are good enough when using compression 2024-02-23 16:25:26 -08:00
Robert Yevdokimov
13e82094ee Remove word duplicates in comments and strings, and fix casing and punctuation 2024-02-23 17:28:28 -05:00
Rémi Verschelde
080f20124a
Merge pull request #88704 from AThousandShips/no_3d_fix_2
Fix some additional errors with 3D disabled
2024-02-23 22:19:15 +01:00
Rémi Verschelde
0d83267923
Merge pull request #88639 from dsnopek/xrserver-hand-tracker
Provide generic interface for XR hand tracking
2024-02-23 22:19:05 +01:00
A Thousand Ships
3a707b1f54
Fix some additional errors with 3D disabled
* Disabled 2D navigation tests as they do not work
* Disabled tests for primitive meshes
* Unbound some `Mesh` methods that rely on 3D resources
* Unexposed `World3D` as it depends on physics (and isn't useful)
* Unexposed some `Viewport` vrs related properties that had unexposed
  methods
2024-02-23 20:58:56 +01:00
David Snopek
2184fa9698 Provide generic interface for XR hand tracking 2024-02-23 12:20:22 -06:00
bruvzg
ad017a20ea
[TextServer] Implement soft hyphen handling. 2024-02-23 12:40:13 +02:00
Rémi Verschelde
b82855bcc1
Merge pull request #88581 from jsjtxietian/dummy-crash
Fail early if shader mode is invalid in dummy renderer
2024-02-23 11:29:42 +01:00
jsjtxietian
a382e9539b Fail early if shader mode is invalid in dummy renderer 2024-02-23 12:25:02 +08:00
Rémi Verschelde
8bad68df1a
Merge pull request #88649 from clayjohn/RD-ss-barriers
Use barriers between all blur passes with SSAO and SSIL
2024-02-22 11:23:40 +01:00
Rémi Verschelde
dd1d838e09
Merge pull request #88631 from DarioSamo/mobile_subpass_usage_fix
Remove tracking logic for input attachments as it's not necessary.
2024-02-22 11:23:28 +01:00
Rémi Verschelde
d646b7fef6
Merge pull request #88560 from DarioSamo/rdd_execute_and_present
Merge execute and present commands for RenderingDeviceDriver.
2024-02-22 11:23:19 +01:00
Rémi Verschelde
0e704ff682
Merge pull request #84275 from smix8/navmap_iteration_id
Add function to get navigation map iteration id from NavigationServer
2024-02-22 11:22:52 +01:00
Aaron Franke
eb019e243f
Disable registering 3D physics types when 3D is disabled 2024-02-22 03:05:17 -06:00
Rémi Verschelde
f8af9bf3e4
AudioEffectPitchShift: Actually fix -Wstringop-overflow warning
Previous commit didn't help, so its changes are reverted.
2024-02-22 09:59:00 +01:00
smix8
313c1d1100 Add function to get navigation map iteration id from NavigationServer
Adds function to get navigation map iteration id from NavigationServer.
2024-02-22 09:45:49 +01:00
clayjohn
2657593462 Use barriers between all blur passes with SSAO and SSIL 2024-02-21 14:35:20 -08:00
Dario
5e59c941c9 Remove tracking logic for input attachments as it's not necessary. 2024-02-21 11:18:10 -03:00
Rémi Verschelde
652438a395
Merge pull request #87360 from BastiaanOlij/gles_glow
Implement glow/bloom on compatibility renderer
2024-02-20 23:59:48 +01:00
Rémi Verschelde
292f4c7f97
Merge pull request #80214 from BastiaanOlij/rendering_effect
Implement hooks into renderer
2024-02-20 23:59:27 +01:00
Rémi Verschelde
dc2d1e3f47
Merge pull request #79452 from /ysort-update-first-item-position 2024-02-20 23:59:17 +01:00
Rémi Verschelde
dbf598034e
Merge pull request #88509 from akien-mga/pitchshift-unsigned-fft-size
AudioEffectPitchShift: Prevent negative size memset (GCC warning)
2024-02-20 17:13:28 +01:00
Dario
ee2d8f68ba Merge execute and present commands for RenderingDeviceDriver. 2024-02-19 13:09:03 -03:00
Rémi Verschelde
aa7ac130c0
Merge pull request #88312 from Malcolmnixon/face-tracker-provider
Add XR Face Tracking support
2024-02-19 10:43:45 +01:00
Bastiaan Olij
aa260e5f3d Implement glow/bloom on compatibility renderer 2024-02-19 13:29:43 +11:00
Rémi Verschelde
3ba724e715
AudioEffectPitchShift: Prevent negative size memset (GCC warning) 2024-02-19 00:30:25 +01:00
Rémi Verschelde
8cf1cfdc0f
Merge pull request #88506 from puchik/multimesh-aabb-cull-fix
Fix reversed custom `AABB` check when recalculating multimesh `AABB`s
2024-02-19 00:09:06 +01:00
Rémi Verschelde
294137c931
Merge pull request #87661 from baptr/profiler_sort
Fix editor profiler script function sort order
2024-02-19 00:07:47 +01:00
Arman Elgudzhyan
533eab89ab Fixed reversed custom AABB null check when recalculating multimesh AABBs 2024-02-18 12:07:23 -08:00
Bastiaan Olij
5a98845655 Implement hooks into renderer 2024-02-18 21:54:21 +11:00
Eidolon
08f4560e69 Add optional depth fog 2024-02-17 22:39:34 -03:00
Malcolm Nixon
7d1a1abe76 Initial XRFaceTrackingProvider and XRFaceTracker work.
Updated to XRFaceModifier3D.
2024-02-17 20:12:47 -05:00
Rémi Verschelde
1b8e12c499
Merge pull request #88409 from jsjtxietian/high-end
Make dummy rendering server appear as a high end platform to fix vulkan shader compile error when exporting
2024-02-17 00:27:30 +01:00
Rémi Verschelde
8bbf5129d2
Merge pull request #88331 from DarioSamo/rd_graph_validation
Add validation to render graph for draw and compute lists.
2024-02-17 00:23:50 +01:00
Rémi Verschelde
59643bdb86
Merge pull request #88325 from akien-mga/texture-formats
Export: Unify settings for PC texture formats, removed obsoleted ETC feature
2024-02-17 00:23:45 +01:00
Rémi Verschelde
f5ffe705ed
Merge pull request #88210 from TitanNano/jovan/missing_surface_data
Assign missing surface data fields in dummy render server
2024-02-17 00:23:19 +01:00
jsjtxietian
f6aabd2b72 Make dummy rendering server appear as a high end platform
to fix vulkan shader compile error when exporting
2024-02-16 23:33:50 +08:00
Arman Elgudzhyan
7ac8365e11 Support custom AABB within MultiMesh resources
- Supporting custom AABB on the MultiMesh resource itself allows us to prevent costly runtime AABB recalculations.
- Should also help improve CPU Particle performance.
2024-02-15 22:37:07 -08:00
Anatoli Babenia
e25cfffc7f Add --no-header option to clean output
* Do not print empty line when header is disabled
* Do not print Vulcan header
* Also add "Print header" project setting (default On)
  (suggested by @kaissouDev)
* Add docs for the project setting
  (with suggestions by @Mickeon and @akien-mga)

Co-authored-by: Micky <66727710+Mickeon@users.noreply.github.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-02-15 14:10:11 +03:00
Dario
0aac14a538 Add validation to render graph for draw and compute lists. 2024-02-14 13:25:04 -03:00
Rémi Verschelde
e457f41f9b
Remove code relative to obsoleted ETC texture format
Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com>
2024-02-14 17:16:41 +01:00
Rémi Verschelde
5e58bcd793
Merge pull request #88205 from 0x0ACB/thread_safe_texture_rid
Make `RID_Owner<Texture>` threadsafe in `TextureStorage` for GLES3
2024-02-13 23:43:40 +01:00
Rémi Verschelde
b6dee8850b
Merge pull request #87384 from bruvzg/sys_base_color
Add method to get "base" system UI color and system theme change callback.
2024-02-13 23:43:21 +01:00
Dario
fc8ec5d8a9 Handle error when setting boot image if swap chain is not available. Skip resizing swap chain during screen creation as it's not necessary and can fail when it starts minimized. 2024-02-13 14:19:26 -03:00
bruvzg
ee53ae28df
Add method to get "base" system UI color (macOS/Windows) and system theme change callback. 2024-02-13 18:38:53 +02:00
bruvzg
deffe6a3be
[macOS] Add support for native help menu search callbacks, integrate editor help. 2024-02-13 18:37:37 +02:00
Rémi Verschelde
e0c24eb554
Merge pull request #88282 from rburing/concave_motion_2d
`GodotCollisionSolver2D::solve_concave`: Fix culling in case of motion
2024-02-13 17:24:34 +01:00
Rémi Verschelde
eb77418075
Merge pull request #87006 from AThousandShips/frame_fix
Fix member names of `AudioFrame` to match extension
2024-02-13 17:23:37 +01:00
A Thousand Ships
d8b29efe66
Fix member names of AudioFrame to match extension 2024-02-13 15:37:09 +01:00
bruvzg
8da36031e4
Implement support for application status indicators (tray icons). 2024-02-13 15:59:35 +02:00
Ricardo Buring
87446fd9b3 GodotCollisionSolver2D::solve_concave: fix culling in case of motion 2024-02-13 14:42:09 +01:00
Rémi Verschelde
dfe226b933
Merge pull request #88270 from TokageItLab/avoid-near-far
Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport
2024-02-13 11:25:24 +01:00
Silc Lizard (Tokage) Renew
67e38709fd Avoid unqualified-id "near" and "far" in Node3DEditor/Viewport 2024-02-13 18:53:21 +09:00
Erik Johnson
eab95698cd
Fix shadows for billboarded Sprite3D's 2024-02-13 10:36:38 +01:00
Rémi Verschelde
9050ee1542
Merge pull request #87297 from adamscott/2d-pixel-art-stability
Stabilize snapping 2D transforms to pixel
2024-02-12 23:53:51 +01:00
Adam Scott
35b640107f
Stabilize snapping 2D transforms to pixel
Co-authored-by: Danni <34800072+KeyboardDanni@users.noreply.github.com>
2024-02-12 11:04:01 -05:00
Dario
73eff10c76 Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver. 2024-02-12 10:02:18 -03:00
Rémi Verschelde
24bd30716e
Merge pull request #87959 from Scony/fix-navi-sync-errors
Add means for fixing navmap synchronization errors
2024-02-12 13:34:30 +01:00
Rémi Verschelde
f12d737681
Merge pull request #87796 from RandomShaper/shader_cache_split
Namespace shader cache files by graphics API
2024-02-12 13:34:18 +01:00
Pawel Lampe
9ea8d4fa38 Add means for fixing navmap synchronization errors 2024-02-11 21:06:47 +01:00
ACB
09d2c09434 Make RID_Owner<Texture> threadsafe in TextureStorage for gles3 2024-02-11 17:23:00 +01:00