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