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
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
Jovan Gerodetti
48b71cf700
Assign missing surface data fields in dummy render server
2024-02-11 14:58:34 +01:00
A Thousand Ships
684752e75b
Replace error checks against `size` with `is_empty`
2024-02-09 12:50:15 +01:00
Rémi Verschelde
e9e54372b7
Merge pull request #88021 from Chubercik/fix_mingw_compile
...
Fully initialize all members of structs `IdentifierActions`, `GeneratedCode` and `DefaultIdentifierActions`
2024-02-09 12:35:26 +01:00
A Thousand Ships
406d7e6d37
Fix missing instance type in dummy renderer
2024-02-08 12:15:26 +01:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
...
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
Rémi Verschelde
7223c5b54a
Fix various typos with codespell
...
Using 2.2.7.dev115+g0eb441d6.
Had to add `cancelled` to the ignore list, as it's a Wayland signal which
we're handling in our code, so we don't want codespell to fix that "typo".
Also includes the typo fix from #87927 .
Co-authored-by: Divyanshu Shekhar <61140213+divshekhar@users.noreply.github.com>
2024-02-07 11:09:34 +01:00
Rémi Verschelde
9346094fb8
Merge pull request #88005 from jsjtxietian/audio-data-race
...
Fix data race regarding `prof_time` in `AudioDriver` and `AudioServer`
2024-02-07 11:04:24 +01:00
Rémi Verschelde
251d5b3669
Merge pull request #87715 from Scony/add-is-baking
...
Expose `is_baking` method in navigation servers and region nodes.
2024-02-07 10:58:27 +01:00
Jakub Marcowski
b38ac30fe0
Fully initialize all members of structs `IdentifierActions`, `GeneratedCode` and `DefaultIdentifierActions`
2024-02-06 20:02:46 +01:00
jsjtxietian
cf1ede9129
Fix data race regarding `prof_time` in `AudioDriver` and `AudioServer`
2024-02-06 16:55:27 +08:00
Pawel Lampe
c2cfc0d409
Expose `is_baking` method in navigation servers and region nodes.
2024-02-05 22:04:22 +01:00
vittorioromeo
55ed34e37c
Use '_v' shorthand for type traits and 'if constexpr' where appropriate
2024-02-02 15:43:21 +01:00
Rémi Verschelde
fb5f34a75a
Merge pull request #87745 from dsnopek/openxr-change-reference-space
...
OpenXR: Allow changing play area mode during active session
2024-02-02 12:03:09 +01:00
Pedro J. Estébanez
f3ef83517a
Namespace shader cache files by graphics API
2024-01-31 20:19:12 +01:00
David Snopek
5935bfa860
OpenXR: Allow changing play area mode during active session
2024-01-31 12:58:22 -06:00
lawnjelly
4577dfdb67
Shadow volume culling and tighter shadow caster culling
...
Existing shadow caster culling takes no account of the camera.
This PR adds the highly encapsulated class RenderingLightCuller which can cut down the casters in the shadow volume to only those which can cast shadows on the camera frustum.
2024-01-30 08:38:31 +00:00
A Thousand Ships
666daf47c3
Free dummy renderer objects
...
These leaked during tests etc.
2024-01-29 19:28:29 +01:00
Rémi Verschelde
fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
...
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
Rémi Verschelde
5c61803971
Merge pull request #87668 from bruvzg/add_baseline_offset
...
[TextServer / Font] Add support for customizable baseline offset.
2024-01-29 13:17:52 +01:00
Rémi Verschelde
8202a73c73
Merge pull request #87512 from DarioSamo/rd_graph_fixes
...
Fix validation errors by improving stage and slice tracking behavior of RenderingDeviceGraph.
2024-01-29 13:17:12 +01:00
Rémi Verschelde
a248e8c78d
Merge pull request #87502 from mihe/soft-body-bindings
...
Bind physics server methods related to `SoftBody3D`
2024-01-29 13:17:09 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary `this->` expressions
2024-01-29 09:59:18 +01:00
bruvzg
85df221610
[TextServer / Font] Add support for customizable baseline offset.
2024-01-28 13:26:49 +02:00
baptr
90a5f23e79
Fix editor profiler script function sort order
...
The engine internally limits the number of functions reported back (to
16 by default). To this point, it's been sort the profiling info in
*ascending* order of time spent, then trimming the list. This meant
we may only see the best (fastest) functions, instead of the worst
that you probably want when profiling.
Now the servers_debugger sort more closely matches the local_debugger
one, which worked fine.
2024-01-27 17:12:27 -08:00
Mikael Hermansson
06f2f1ecbc
Bind physics server methods related to `SoftBody3D`
2024-01-26 17:15:52 +01:00
Dario
39f279710c
Improve stage and slice tracking behavior of RenderingDeviceGraph to fix various synchronization issues.
2024-01-26 10:12:54 -03:00
Rémi Verschelde
535a2a6f27
Merge pull request #86581 from MJacred/optimize/audio_server
...
Optimize `AudioServer::_driver_process()`
2024-01-26 11:43:25 +01:00
MJacred
43a709fd0d
Optimize AudioServer::_driver_process()
...
Move expensive calculations outside inner hot loops.
Forward-ported from 3.6
2024-01-26 10:11:13 +01:00
Yuri Sizov
3f7ea71e88
Merge pull request #87495 from jsjtxietian/USE_LIGHT_SHADER_CODE
...
Clean up outdated `USE_LIGHT_SHADER_CODE` usage
2024-01-25 16:27:14 +01:00
Yuri Sizov
1b83e8ae81
Merge pull request #87460 from BastiaanOlij/stereo_ivec
...
Add ivec variants to multiview_uv for stereo rendering
2024-01-25 16:27:10 +01:00
Yuri Sizov
1018706c87
Merge pull request #87390 from clayjohn/dummy-multimesh
...
Add basic multimesh data needed for headless export to the Dummy rendering server
2024-01-25 16:27:06 +01:00
Yuri Sizov
672b034076
Merge pull request #87303 from bruvzg/fd_options_no_editor
...
[Native File Dialog] Add support for adding custom options to the dialogs (w/o editor changes).
2024-01-25 16:26:58 +01:00
Yuri Sizov
b698204a1e
Merge pull request #87505 from BastiaanOlij/fix_mobile_refprobe_validation
...
Fix framebuffer created for reflection probe in mobile renderer
2024-01-24 14:08:52 +01:00
Yuri Sizov
344fe62bdb
Merge pull request #87392 from clayjohn/dummy-shader
...
Add DummyShader handling to Dummy RenderingServer to ensure shader parameters are saved in headless export
2024-01-24 14:08:28 +01:00
Yuri Sizov
ea6e20253b
Merge pull request #87235 from dsnopek/openxr-local-floor
...
Add support for OpenXR local floor extension
2024-01-24 14:08:17 +01:00
Yuri Sizov
2ce450f8bc
Merge pull request #84894 from clayjohn/tangent-error-message
...
Store ArrayMesh path in RenderingServer for use in error messages
2024-01-24 14:07:47 +01:00
bruvzg
a8f521bcad
[Native File Dialog] Add support for adding custom options to the dialogs.
...
Add support for adding custom options (checkboxes and optionboxes) to the dialogs (both native and built-in).
2024-01-24 15:00:31 +02:00
jsjtxietian
2004ad1ac5
Clean up outdated `USE_LIGHT_SHADER_CODE` usage
2024-01-24 12:30:27 +08:00
Giwayume
bb83c4adec
Add custom shader attributes to Canvas Item Shaders
2024-01-23 14:36:39 -05:00
David Snopek
a8690cbeed
Add support for OpenXR local floor extension
2024-01-23 09:19:09 -06:00
Bastiaan Olij
914eecaddb
Fix framebuffer created for reflection probe in mobile renderer
2024-01-24 00:51:51 +11:00
Bastiaan Olij
1066f01607
Add ivec variants to multiview_uv for stereo rendering
2024-01-23 16:13:31 +11:00
clayjohn
21ade7f0f7
Add DummyShader handling to Dummy RenderingServer to ensure shader parameters are saved in headless export
2024-01-22 13:57:11 -08:00
Yuri Sizov
f98e57563b
Merge pull request #87370 from AThousandShips/null_additional
...
Null check improvements
2024-01-22 20:39:18 +01:00
Yuri Sizov
bf94131e41
Merge pull request #87225 from kleonc/transposed-texture-fix-2d-normals
...
Fix 2D normals for transposed texture
2024-01-22 20:39:04 +01:00
Yuri Sizov
e8105adb0e
Merge pull request #87155 from griffinkh/build_warning_fix
...
Fix build warning with memset value being too large
2024-01-22 20:38:56 +01:00
Yuri Sizov
c7210674b8
Merge pull request #86772 from Rindbee/display-functions-in-profiler
...
Display functions that were previously forgotten in Profiler
2024-01-22 20:38:46 +01:00
Yuri Sizov
e95456b7f3
Merge pull request #86073 from m4rr5/add_reflection_mask
...
Add a reflection mask to the reflection probes
2024-01-22 20:38:37 +01:00
Marcel Offermans
25f573ca63
Add a reflection mask to the reflection probes.
...
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-01-20 08:07:31 +01:00
clayjohn
ed2b3d358d
Add basic multimesh data needed for headless export to the Dummy rendering server
2024-01-19 17:21:55 -08:00
Rémi Verschelde
0bcc0e92b3
Merge pull request #86730 from reduz/64-bit-cowdata
...
Promote CowData to 64 bits
2024-01-19 18:46:11 +01:00
Juan Linietsky
24fe0715b5
Promote CowData to 64 bits
...
Fixes a lot of bugs, please help me fill the list.
2024-01-19 17:41:10 +01:00
A Thousand Ships
2a372186ec
Null check improvements
2024-01-19 12:50:21 +01:00
Dario
5624b8f5c6
Fix memory leak from not clearing the buffer barrier vector properly on the render graph.
2024-01-18 15:23:13 -03:00
bruvzg
476331eef3
[TextServer] Fix precision loss in the string drawing methods.
2024-01-18 15:33:05 +02:00
Adam Scott
bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread
2024-01-17 13:58:29 -05:00
Rémi Verschelde
5b19796a2b
Merge pull request #87207 from jsjtxietian/fix-normal_roughness_compatibility
...
Add missing check when insert function `normal_roughness_compatibility`
2024-01-16 10:37:37 +01:00
Rémi Verschelde
3df0c5be6a
Merge pull request #86473 from reduz/audio-playback-parameters
...
Implement audio stream playback parameters.
2024-01-16 10:35:36 +01:00
Juan Linietsky
a40fe16866
Implement audio stream playback parameters.
...
Implements a way for audio stream playback to be configured via parameters
directly in the edited AudioStreamPlayer[2D/3D].
Currently, configuring the playback stream is not possible (or is sometimes hacky
as the user has to obtain the currently played stream, which is not always immediately available).
This PR only implements this new feature to control looping in stream playback instances (a commonly requested feature, which was lost in the transition from Godot 2 to Godot 3).
But the idea is that it can do a lot more:
* If effects are bundled to the stream, control per playback instance parameters such as cutoff or resoance, or any other exposed effect parameter per playback instance.
* For the upcoming interactive music PR (#64488 ), this exposes an easy way to change the active clip, which was not possible before.
* For the upcoming parametrizable audio support (https://github.com/godotengine/godot-proposals/issues/3394 ) this allows editing and animating audio graph parameters.
In any case, this PR is required to complete #64488 .
Update modules/vorbis/audio_stream_ogg_vorbis.h
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Update modules/minimp3/audio_stream_mp3.h
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Update modules/minimp3/audio_stream_mp3.h
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Update modules/vorbis/audio_stream_ogg_vorbis.h
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Update doc/classes/AudioStream.xml
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-01-16 10:31:52 +01:00
kleonc
0fe7eead02
Fix 2D normals for transposed texture
2024-01-15 17:34:29 +01:00
Rémi Verschelde
bf7e19887e
Merge pull request #87096 from jsjtxietian/save-to-cache
...
Add `shader_cache_dir_valid` check to `_save_to_cache`
2024-01-15 13:29:03 +01:00
Rémi Verschelde
03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
...
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +01:00
jsjtxietian
747ae429de
Add missing check when insert function `normal_roughness_compatibility`
2024-01-15 17:22:19 +08:00
Juan Linietsky
15144c24bd
Implement a transient_to_focused mode
...
This intends to be the correct way to handle non-child windows becoming covered by the current window when becoming focused.
Enabling this property on select windows, they will become transient to the currently focused one when becoming visible.
This deprecates the "unparent_when_invisible" function introduced by #76025 .
2024-01-14 18:51:44 +01:00
Griffin Kroah-Hartman
21ae69a1de
fix build warning with memset value being too large
...
same resolution for issue #83342 for texture_storage.cpp
2024-01-13 19:05:38 +01:00
jsjtxietian
a365c070b3
Add shader_cache_dir_valid check to _save_to_cache
2024-01-12 17:34:33 +08:00
Rémi Verschelde
c5025ea157
Merge pull request #87057 from clayjohn/RD-32-bit-depth
...
Default to 32-bit depth map on Forward+ renderer and 24-bit only on Mobile renderer
2024-01-11 17:42:38 +01:00
Rémi Verschelde
bf4fb987e6
Merge pull request #87035 from Mickeon/deprecate-RenderingServer-has-feature
...
Deprecate RenderingServer's `has_feature` and Features enum
2024-01-11 17:41:50 +01:00
Rémi Verschelde
087a397477
Merge pull request #86301 from KoBeWi/deferred_cleanup
...
Update deferred calls to use Callables
2024-01-11 17:36:29 +01:00
clayjohn
7b355a128c
Default to 32-bit depth map on Forward+ renderer and 24-bit only on Mobile renderer
2024-01-10 12:23:59 -08:00
Micky
63a08f2493
Deprecate RenderingServer's `has_feature` and Features enum
2024-01-10 12:26:04 +01:00
Rémi Verschelde
74f3d168c8
Merge pull request #87022 from DarioSamo/clear_region_continue_fix
...
Fix incorrect mapping of initial action as clear region continue to clear.
2024-01-10 12:03:45 +01:00
Rémi Verschelde
a40a134a1e
Merge pull request #86996 from BastiaanOlij/fix_stereo_ssr
...
Fix SSR not working properly in stereo
2024-01-10 12:03:37 +01:00
Dario
80eacf1b7a
Fix incorrect mapping of initial action as clear region continue to clear.
2024-01-09 22:03:21 -03:00
kobewi
0e8f90f4c8
Update deferred calls to use Callables
2024-01-09 16:11:47 +01:00
Patrick Dawson
a0f9bcc826
Fix usage of index offsets in RenderingDevice
2024-01-09 15:47:52 +01:00
Rémi Verschelde
673102ffd8
Merge pull request #85520 from YuriSizov/rendering-gracefully-leak-canvas-items
...
Avoid crashes when engine leaks canvas items and friends
2024-01-09 15:30:55 +01:00
Bastiaan Olij
10a8b88165
Fix SSR not working properly in stereo
2024-01-09 23:19:57 +11:00
Rémi Verschelde
a50a6b9400
Merge pull request #86798 from Mickeon/autocompletion-rendering-server
...
Add autocompletion for RenderingServer's global shader methods & `has_os_feature`
2024-01-09 11:27:31 +01:00
Dario
cc4d39b0c1
Acyclic Command Graph for RenderingDevice.
...
Adds a new system to automatically reorder commands, perform layout transitions and insert synchronization barriers based on the commands issued to RenderingDevice.
2024-01-08 14:54:56 -03:00
Rémi Verschelde
25011e9144
Merge pull request #84244 from BastiaanOlij/skip_present_if_needed
...
Skip swapchain logic if there is nothing to present (Android OpenXR)
2024-01-08 14:52:07 +01:00
Micky
472e3b3ad5
Add autocompletion for RenderingServer's global shader & has_os_feature
2024-01-08 12:20:31 +01:00
Rémi Verschelde
5ac5be4744
Merge pull request #86507 from jsjtxietian/fix-msvc-2017
...
Fix MSVC 14.1 complaining about "attempting to reference a deleted function" in RenderPassClearValue
2024-01-08 11:54:17 +01:00
Rémi Verschelde
798632422d
Merge pull request #86245 from ecmjohnson/fix-skeleton-culling
...
Check skeleton RID when using cached AABB
2024-01-08 11:52:41 +01:00
Bastiaan Olij
d6caa69e11
Skip swapchain logic if there is nothing to present (Android OpenXR)
2024-01-08 21:51:04 +11:00
Muller-Castro
96a95cb974
Add const lvalue ref to container parameters
2024-01-05 14:49:57 -03:00
Rémi Verschelde
6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
...
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
风青山
3d3c4e87c7
Display functions that were previously forgotten in Profiler
...
The array data in `add()` contains these data, but some data may
have been forgotten to be converted into `ServerFunctionInfo`.
This results in some information not being displayed in the Profiler.
2024-01-04 17:19:26 +08:00
Rémi Verschelde
ca7fb29203
Merge pull request #84800 from gshadows/fix_options_range
...
Fix unlimited project option ranges that could cause crashes.
2024-01-03 09:59:31 +01:00
Rémi Verschelde
7abaac631b
Fixup SDFGI shader compilation error after #80390
...
My mistake, I added this when rebasing and didn't notice that it was a
.glsl file and thus the availability of Math was not confirmed by the
C++ compiler.
2024-01-03 08:51:08 +01:00
Rémi Verschelde
07b88600b7
Merge pull request #86522 from RandomShaper/fix_uset_rebind
...
RenderingDevice: Fix uniform sets wrongly assumed to be bound
2024-01-02 21:32:25 +01:00
Rémi Verschelde
ad10b0717d
Merge pull request #86584 from MJacred/fix/audio_server_set_playbyck_stream
...
Fix `AudioServer::start_playback_stream` does not iterate through given `p_bus_volumes`
2024-01-02 18:05:44 +01:00
Rémi Verschelde
14b1bb47a7
Merge pull request #86570 from RandomShaper/remove_traces_of_rid_prealloc
...
Remove traces of the extinct RID preallocate feature
2024-01-02 18:05:41 +01:00
Rémi Verschelde
e42d615471
Merge pull request #85421 from xiongyaohua/fix_parameter_names
...
Unify parameter names for 'RendererCanvasCull'
2024-01-02 15:08:53 +01:00
Rémi Verschelde
5f97e40e3e
Merge pull request #85393 from SomeRanDev/master
...
Fix PhysicsShapeQueryParameters3D.motion type wrongly set to Vector2
2024-01-02 15:08:50 +01:00
EddieBreeg
8747c67d9e
Fix potential integer underflow in rounded up divisions
...
A new `Math::division_round_up()` function was added, allowing for easy
and correct computation of integer divisions when the result needs to
be rounded up.
Fixes #80358 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-01-02 14:14:47 +01:00
Robert Borghese
7bf88df324
Fix PhysicsShapeQueryParameters3D.motion type wrongly set to Vector2
2024-01-02 12:30:35 +01:00
MJacred
e81887f996
Fix AudioServer::start_playback_stream does not iterate through given p_bus_volumes
2023-12-28 18:00:37 +01:00
Pedro J. Estébanez
c217041afd
Remove traces of the extinct RID preallocate feature
2023-12-28 10:18:05 +01:00
Pedro J. Estébanez
1c5c8cf6ff
RenderingDevice: Fix uniform sets wrongly assumed to be bound
2023-12-26 13:12:32 +01:00
jsjtxietian
5d361a9e39
Fix msvc 14.1 complains about "atempting to reference a deleted function"
...
in RenderPassClearValue
2023-12-25 18:52:06 +08:00
Yaohua Xiong
795fe74143
unify parameter names for 'RendererCanvasCull'
2023-12-24 10:18:34 +08:00
Yuri Sizov
44ded3eaa4
Merge pull request #86316 from clayjohn/RD-BFN-normals
...
Use best fit normals for storing screen space normals
2023-12-22 17:19:58 +01:00
Yuri Sizov
6b403712f1
Merge pull request #83655 from golfinq/small-capsule-shape-fix
...
Replace confusing code in GodotCapsuleShape2D::get_supports
2023-12-22 17:19:48 +01:00
G-Shadow
cbc8ae660c
Fix unlimited project option ranges that could cause crashes.
2023-12-22 09:14:45 +03:00
clayjohn
43cf21cb71
Use best fit normals for storing screen space normals
2023-12-21 14:41:29 -07:00
Occalepsus
492f1c2406
Fix body leaving area gravity influence
2023-12-21 16:10:02 +01:00
Yuri Sizov
3a8524dd92
Merge pull request #83452 from RandomShaper/rd_common
...
Split `RenderingDevice` into API-agnostic and `RenderingDeviceDriver` parts
2023-12-20 20:09:18 +01:00
Pedro J. Estébanez
12a519bae2
Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
...
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
Yuri Sizov
34ecfff672
Avoid crashes when engine leaks canvas items and friends
2023-12-20 13:19:46 +01:00
Yuri Sizov
dee2604d99
Merge pull request #84729 from nickyfoo/add-navigationserver-getters
...
Add missing getters to navigation servers
2023-12-19 20:32:46 +01:00
Nicholas Foo
e7ee672120
Add getters to navigation servers
...
Add virtual functions and bind to navigation servers
Implement getters
Add documentation
2023-12-19 19:51:49 +01:00
msreis
f1cc14d525
Fix missing time for some script functions in profiler
...
Fixes the issue by adding a mechanism by which the functions that were
previously disappearing can be profiled too. This is optional with
an editor setting, since collecting more information naturally slows the engine
further while profiling.
Fixes #23715 , #40251 , #29049
2023-12-19 19:42:21 +01:00
Yuri Sizov
644e236e5c
Merge pull request #83987 from bruvzg/macos_window_and_help
...
[macOS] Add default Window and Help menus, allow special menu customization.
2023-12-18 18:17:41 +01:00
Yuri Sizov
c1d8b53ca0
Merge pull request #82668 from mrjustaguy/master
...
Improve split blending logic for Vulkan
2023-12-18 18:17:36 +01:00
Erik Johnson
d874ead58d
Check skeleton RID when using cached AABB
2023-12-17 11:43:49 -05:00
Wilson E. Alvarez
a3cb1b096f
Add const references detected by clang-tidy
2023-12-16 13:36:44 -05:00
Yuri Sizov
2d0ee20ff3
Merge pull request #86219 from clayjohn/RD-samplers-hotfix
...
Reduce the number of samplers used by the scene shaders
2023-12-16 17:50:10 +01:00
Yuri Sizov
ef94545658
Merge pull request #84169 from BastiaanOlij/vulkan_mobile_merge_passes
...
Merge passes in Vulkan mobile renderer
2023-12-16 17:49:27 +01:00
clayjohn
a5399ab5af
Reduce the number of samplers used by the scene shaders
...
The hard limit for Apple devices is 16 samplers per stage. So we need to ensure we use less than that
2023-12-15 17:13:44 -07:00
Bastiaan Olij
22cd145177
Merge passes in Vulkan mobile renderer
2023-12-16 09:51:35 +11:00
风青山
ea30aabfb1
Clear monitoring in `Area*` when its space changes to invalid
...
So that it can work properly when the space changes to valid again.
Change `space` in advance to prevent disabled areas from being queried again.
2023-12-15 20:54:54 +01:00
Yuri Sizov
4269a57b0c
Merge pull request #85387 from jsjtxietian/fix-forward-plus-crash
...
Use render method from OS instead of project settings in compositor RD
2023-12-14 17:38:43 +01:00
jsjtxietian
453c2246b6
Use render method from OS in compositor RD; Update related UI
2023-12-14 11:38:46 +08:00
bruvzg
0d44b50520
[macOS] Add default Window and Help menus, allow special menu customization.
2023-12-13 23:20:05 +02:00
Wilson E. Alvarez
80fb8db31f
Remove unnecessary assignments
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Rémi Verschelde
342531597b
Merge pull request #85811 from clayjohn/2D-render-info
...
Implement render info counters for the 2D renderer
2023-12-12 10:41:06 +01:00
Rémi Verschelde
4943b6e6b3
Merge pull request #84451 from ShirenY/FixSkeletonMeshCulling
...
Transform mesh's AABB to skeleton's space when calculating mesh's bounds
2023-12-12 00:16:51 +01:00
Rémi Verschelde
4e2350b1af
Merge pull request #82661 from bruvzg/custom_ellipsis
...
[Text Overrun] Add option to set custom ellipsis character, add support for system font fallback.
2023-12-12 00:15:34 +01:00
Rémi Verschelde
9eb47ce361
Merge pull request #75098 from smix8/map_random_point_queries_4.x
...
Add NavigationServer random point queries
2023-12-12 00:15:05 +01:00
ShirenY
27f71c4e78
Transform mesh's AABB to skeleton's space when calculate mesh's bounds.
2023-12-09 11:41:15 +08:00
Yuri Sizov
5c95fd5905
Merge pull request #85793 from Lasuch69/expose-compute
...
Expose `copy_effects` compute shader in Mobile backend
2023-12-08 18:46:03 +01:00
Yuri Sizov
07677f0f51
Merge pull request #85885 from YuriSizov/bench-pressing
...
Improve engine startup/shutdown benchmarks
2023-12-08 17:12:26 +01:00
Yuri Sizov
74b6fad3c8
Merge pull request #85822 from bruvzg/maco_dbl
...
Fix CanvasOcclusionShaderRD format error with double precision build.
2023-12-08 16:58:59 +01:00
Yuri Sizov
ee1bf15924
Merge pull request #84637 from clayjohn/RD-sampler-bias
...
Use render pass uniform set to store viewport samplers.
2023-12-08 15:23:18 +01:00
Yuri Sizov
dfe0f584b4
Merge pull request #82953 from jsjtxietian/document-forcedraw-can-only-be-called-from-main-thread
...
Add thread guard for `force_draw` and update related documentation
2023-12-08 15:22:53 +01:00
Yuri Sizov
fc3f40f37d
Improve engine startup/shutdown benchmarks
...
- Add contexts to give a better sense of benchmarked areas.
- Add missing benchmarks and adjust some begin/end points.
- Clean up names.
- Improve Android's internal benchmarks in a similar manner.
Co-authored-by: Fredia Huya-Kouadio <fhuya@meta.com>
2023-12-08 12:53:04 +01:00
smix8
64a56245d8
Add NavigationServer random point queries
...
Adds query functions to get random points on navigation mesh to the NavigationServer.
2023-12-08 00:18:05 +01:00
clayjohn
528b4a3283
Implement render info counters for the 2D renderer
...
This provides information for the debug monitors
2023-12-06 14:39:33 -07:00
bruvzg
c0a1c5ae61
Fix CanvasOcclusionShaderRD format error with double precision build.
2023-12-06 23:03:12 +02:00
Lasuch
608d41a969
Expose copy_effects copy compute shader in Mobile backend
2023-12-05 21:22:46 +01:00
Rémi Verschelde
7b2b408410
Merge pull request #85646 from aaronfranke/mesh-surf-arr-msg
...
Add a descriptive error message when creating a mesh surface from the wrong array type
2023-12-04 23:21:11 +01:00
Rémi Verschelde
4c3d95e02c
Merge pull request #85635 from clayjohn/RD-ReflectionProbes-mobile
...
Set ReflectionProbe frame before mapping id in mobile renderer
2023-12-04 23:20:47 +01:00
Rémi Verschelde
7113050e0b
Merge pull request #84241 from jsjtxietian/fix-render-method-crash-on-bad-input
...
Fix bad parameter for `rendering_method` crashes Godot
2023-12-04 23:02:21 +01:00
Rémi Verschelde
6f4da7a976
Merge pull request #83736 from darksylinc/matias-broken_buffer_update
...
Fix buffer updates going to the wrong cmd buffer if barriers were 0
2023-12-04 22:58:24 +01:00
bruvzg
56579f397d
[Text Overrun] Add option to set custom ellipsis character, add support for system font fallback.
2023-12-04 08:21:42 +02:00
Aaron Franke
7d5b902838
Add a descriptive error message when creating a mesh surface from arrays
2023-12-02 00:44:59 -06:00
clayjohn
394edf8288
Set ReflectionProbe frame before mapping id in mobile renderer
2023-12-01 16:52:50 -07:00
Rémi Verschelde
bd74d92ef7
Merge pull request #84957 from BastiaanOlij/fix_msaa2d_when_no_2d
...
Ensure 2D MSAA resolve is performed when 3D content but no 2D content in scene
2023-11-22 21:56:23 +01:00
clayjohn
e2a5d2bf46
Enable non-multiview advanced shader group whenever advanced shaders are requested
...
This is needed because xr_enabled does not guarantee that we won't use the non-multiview variants
2023-11-21 15:16:25 -07:00
Rémi Verschelde
c2f8fb3015
Merge pull request #85039 from RandomShaper/mingwthreads
...
Use mingw-std-threads in MinGW builds
2023-11-21 15:44:18 +01:00
Rémi Verschelde
fa1fb2a53e
Merge pull request #85147 from RandomShaper/fix_gfx_dbg_labels
...
Fix potential double-close of draw command label
2023-11-20 21:20:54 +01:00
Pedro J. Estébanez
5c25fa4c78
Fix potential double-close of draw command label
2023-11-20 18:59:06 +01:00
Rémi Verschelde
dfd61cdac6
Merge pull request #85138 from YuriSizov/rendering-borked-meshes-dont-bork-the-editor
...
Avoid division by zero in the fix surface compatibility routine
2023-11-20 18:36:26 +01:00
Yuri Sizov
98011e032d
Avoid division by zero in the fix surface compatibility routine
2023-11-20 16:22:58 +01:00
Rémi Verschelde
ac29e8e3fe
Merge pull request #85086 from clayjohn/shaders-amount-ratio
...
Make `AMOUNT_RATIO` constant in the shader language specification.
2023-11-20 14:14:46 +01:00
clayjohn
8a95b2956f
Make AMOUNT_RATIO constant in the shader language specification.
...
Writing to it doesn't do anything and will crash the compatibility backend.
2023-11-19 14:36:26 +01:00
Pedro J. Estébanez
fe4850c0d0
Use mingw-std-threads in MinGW builds
2023-11-18 11:56:05 +01:00
Bastiaan Olij
47983e30c5
Ensure 2D MSAA resolve is performed when 3D content but no 2D content in scene
2023-11-16 13:34:34 +11:00
Alistair Leslie-Hughes
367079ffee
Renderer Viewport correct sizeof usage.
...
The current usage.
In viewport_find_from_screen_attachment
- Allocates a list of pointers, eg sizeof(RID*) * ridcount.
We need fill that buffer
viewport_owner.fill_owned_buffer(rids);
...
p_rid_buffer[idx] = _make_from_id((validator << 32) | i);
_make_from_id returns an RID object, not a pointer.
Since there isn't a copy constructor, a bitwise copy of the object occurs.
This issue will only present itself under 32bit builds.
sizeof(RID) : 8
sizeof(RID*) : 4
whereas 64bit builds they are both 8.
2023-11-16 11:02:12 +11:00
Bastiaan Olij
b1c4d4e55b
Ensure optional variants are loaded last.
2023-11-15 14:31:25 +11:00
clayjohn
ead36fdcc4
Store ArrayMesh path in RenderingServer for use in error messages
2023-11-14 16:27:10 +01:00
Anutrix
3c82f4a371
Added docs for DRAW_ORDER_REVERSE_LIFETIME constant and minor XR log improvement
2023-11-11 21:17:19 +05:30
Rémi Verschelde
34e34f0945
Merge pull request #82478 from jsjtxietian/fix-AudioStreamRandomizer-random_volume_offset_db-not-working
...
Fix `AudioStreamRandomizer.random_volume_offset_db` not working
2023-11-10 21:53:45 +01:00
jsjtxietian
b88b84ce18
Add thread guard for force_draw and update relared doc
...
force_draw must be called from main thread
2023-11-10 18:57:31 +08:00
jsjtxietian
b6bee1c21e
Fix bad parameter of rendering_method crashes Godot
...
Print error and default to forward plus
2023-11-10 10:38:12 +08:00
clayjohn
2b9e6d2972
Use render pass uniform set to store viewport samplers.
...
This fixes a bugs where per-viewport samplers were being used for internal texture fetches (probes, sky, etc.).
This also fixes a bug when using multiple viewports in the same scene.
This also fixes a bug where the texture bias would override the bias from 3D scale.
2023-11-08 23:26:08 +01:00
Rémi Verschelde
f0c52c0e35
Merge pull request #84576 from clayjohn/mesh-tangents-always
...
Create tangent array if mesh created without tangents
2023-11-08 19:09:36 +01:00
clayjohn
a74cfc2629
Use default samplers in base uniform set when rendering to reflection probes
2023-11-07 17:46:05 +01:00
clayjohn
031f221b9d
Create tangent array if mesh created without tangents
...
This extends our previous change to ensure that compressed meshes have tangents
Now we ensure tangents are always used. This greatly simplifies our compression code at the cost of a small amount of bandwidth
2023-11-07 14:24:23 +01:00
Rémi Verschelde
44a54f4500
Merge pull request #84252 from clayjohn/ensure_tangents
...
Enhance checks and user experience around tangent arrays in meshes.
2023-11-02 09:11:32 +01:00
clayjohn
d1043a5f93
Enhance checks and user experience around tangents.
...
Ensure `ensure_tangents` option actually creates tangent array. Even if it is just a dummy array.
Allow mesh to generate its own tangents when using compression. This allows users to compress meshes without tangents.
Warn users if they are trying to read from tangents without providing tangents.
2023-11-01 22:40:42 +01:00
clayjohn
be386e1876
Overhaul the SurfaceUpgradeTool
...
This defers the update to a fresh restart of the editor (to ensure we aren't mid way through loading scenes anymore.
It also ensures that the popup can't be used by multiple threads at once
Co-authored-by: Yuri Sizov <yuris@humnom.net>
2023-11-01 15:32:54 +01:00