Commit graph

4287 commits

Author SHA1 Message Date
Dario
e2c6daf7ef Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
- Implements asynchronous transfer queues from PR #87590.
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 -03:00
Rémi Verschelde
eaac033168
Merge pull request #94240 from MewPurPur/optimize-styleboxflat
Optimize `StyleBoxFlat.draw()`
2024-10-01 17:30:24 +02:00
Rémi Verschelde
41ffc696d2
Merge pull request #93449 from Calinou/basematerial3d-refraction-use-depth-comparison
Fix BaseMaterial3D refracting objects located in front of the material
2024-10-01 17:30:20 +02:00
chocola-mint
ed13a840fa Add markers to animation 2024-09-29 17:27:36 +09:00
MewPurPur
71ac6b7476 Optimize StyleBoxFlat.draw() 2024-09-28 12:37:31 +03:00
Rémi Verschelde
8a9a26ef19
Merge pull request #93311 from dsnopek/gdextension-required-virtuals
GDExtension: Mark virtual function as `is_required` in `extension_api.json`
2024-09-27 13:53:16 +02:00
Rémi Verschelde
56d50c30a2
Merge pull request #97414 from AThousandShips/code_highlight_fix
Fix editing of some properties in `CodeHighlighter`
2024-09-26 18:45:38 +02:00
Rémi Verschelde
8eab2b52ed
Merge pull request #96835 from Malcolmnixon/animation-optimize
Expose the optimize method of the Animation class to gdscript.
2024-09-26 18:45:15 +02:00
Hugo Locurcio
8a485ff658
Fix BaseMaterial3D refracting objects located in front of the material
Depth comparison is now used to prevent refraction from occurring
if the pixel being refracted is located in front of the object.

For pixels slightly behind the object, a `smoothstep()` curve
is used to progressively increases refraction intensity
as the distance between the object and the refraction increases.
This avoids sudden discontinuities in the refraction.

Co-authored-by: GeneralLegendary <generallegendary456@gmail.com>
2024-09-26 15:12:31 +02:00
matheusmdx
3e0d3c433b Fix pink GradientTexture2D 2024-09-26 09:50:55 -03:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Rémi Verschelde
4c5e879cc5
Merge pull request #97380 from TheSofox/handle_modes_default_fix
Ensure `handle_modes` is given default values rather than flagging error if undefined
2024-09-25 12:39:22 +02:00
Rémi Verschelde
65c94ec873
Merge pull request #97290 from fire/fix-animation-compression
Fix animation compression going the wrong way
2024-09-25 12:39:18 +02:00
Paweł
b88585abfc Add linux camera support 2024-09-25 12:08:06 +02:00
A Thousand Ships
56f095296c
Fix editing of some properties in CodeHighlighter 2024-09-24 17:56:13 +02:00
Sofox
633df0b29c Handle handle_modes being undefined by giving default values rather than flagging error 2024-09-23 20:22:26 +01:00
Rémi Verschelde
2017006879
Merge pull request #97314 from tetrapod00/visual-shader-remap
Visual Shader: Add vector operations to Remap node
2024-09-23 16:14:04 +02:00
tetrapod00
eb5a9c3b33 Visual Shader: Add vector operations to Remap node 2024-09-22 11:25:36 -07:00
K. S. Ernest (iFire) Lee
dd9525be04 Fix animation compression going the wrong way
When compressing animation key frame indices the truncation breaks the animation near the border of pages.

We use banker's rounding (FE_TONEAREST) as implemented by fast_ftoi to get the nearest integer frame.
2024-09-21 19:20:19 -07:00
A Thousand Ships
ccca41a086
Remove direct render include in ExternalTexture
This include introduces `windows/platform_gl.h` into the include
hierarchy which adds defines which break building on MSVC
2024-09-21 17:44:28 +02:00
David Snopek
1a6f8512bc Add external texture support (GLES3)
Co-authored-by: Fredia Huya-Kouadio <fhuyakou@gmail.com>
Co-authored-by: Mauricio Narvaez <nvz@meta.com>
2024-09-20 10:48:32 -05:00
Thaddeus Crews
b37fc1014a
Style: Apply new clang-format changes 2024-09-20 08:09:48 -05:00
Raffaele Picca
1df0159b36 Added a more detailed error message when instatiating a scene with missing export properties. 2024-09-16 16:08:55 +02:00
Rémi Verschelde
f2ce94fdde
Merge pull request #96885 from LuizZak/grow_mask_sqrt_fix
Avoid expensive sqrt operation in hot loop of `BitMap.grow_mask`
2024-09-13 11:22:01 +02:00
Luiz Fernando Silva
293cc2126e Avoid expensive sqrt operation in hot loop of BitMap.grow_mask 2024-09-12 11:04:57 -03:00
Rémi Verschelde
b214aa8faf
Merge pull request #96880 from zeux/fix-vcache-nontri
Fix a crash in `ImporterMesh::create_shadow_mesh` for non-triangle surfaces
2024-09-12 09:26:01 +02:00
Rémi Verschelde
b998cb1335
Merge pull request #96768 from DeeJayLSP/wav-end
WAV: Fix one frame overflow at the end
2024-09-12 09:25:31 +02:00
Rémi Verschelde
b9b07d619f
Merge pull request #94783 from TokageItLab/validate-gltf-anim-name
Add validation to glTF importer for Blendshape and Animation
2024-09-12 09:25:10 +02:00
DeeJayLSP
147accdf74 WAV: Fix one frame overflow at the end 2024-09-11 21:57:14 -03:00
David Snopek
c2af6bcb59 GDExtension: Mark virtual function as is_required in extension_api.json
Co-authored-by: Jovan Gerodetti <jovan.gerodetti@titannano.de>
2024-09-11 16:48:14 -05:00
Arseny Kapoulkine
7d7b43bca2 Fix a crash in ImporterMesh::create_shadow_mesh for non-triangle surfaces
optimize_vertex_cache_func assumes the input is a triangle mesh; when an
imported mesh contains points/lines/triangle strips, this code should be
disabled.
2024-09-11 13:18:58 -07:00
Malcolm Nixon
3e93970ef5 Expose the optimize method of the Animation class to gdscript. 2024-09-11 01:18:30 -04:00
bruvzg
3009073b39 [Resource Loader] Do not check property type for non registered properties. 2024-09-10 11:27:16 +03:00
Rémi Verschelde
493f3edce7
Merge pull request #96572 from adamscott/fix-samples-leak
Fix leak when using audio samples instead of streams
2024-09-09 17:51:42 +02:00
Rémi Verschelde
7a4c03418a
Merge pull request #96144 from SaracenOne/reimport_owner_instance
Make reimported models reimport their owner.
2024-09-08 23:21:32 +02:00
Rémi Verschelde
0e307f8647
Merge pull request #96017 from DeeJayLSP/wav-vec
AudioStream(Playback)WAV: Use LocalVectors instead of pointers
2024-09-08 23:21:23 +02:00
DeeJayLSP
d5ad6dd699 AudioStream(Playback)WAV: Use LocalVectors instead of pointers 2024-09-08 02:32:59 -03:00
Saracen
86ce15fb7a Make reimported models reimport their owner.
Changes the behaviour of the scene hot-reload system
so that if the scene which needs to be reimported is
owned by another instance, reload that instance instead.
2024-09-08 03:12:47 +01:00
Rémi Verschelde
0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Rémi Verschelde
c2d81b0b98
Merge pull request #96265 from bruvzg/rtl_dc4
Account for dropcap when calculating paragraph size, fix duplicate last char when using dropcap with autowrap off.
2024-09-06 11:11:09 +02:00
Rémi Verschelde
c01667abc0
Merge pull request #96285 from kleonc/style_box_flat_fix_rects_skewing_center
Fix `StyleBoxFlat` rectangles skewing independently
2024-09-06 10:09:28 +02:00
Adam Scott
d3ddce6b88
Fix leak when using audio samples instead of streams 2024-09-04 12:56:03 -04:00
Thaddeus Crews
9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 -05:00
Rémi Verschelde
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Rémi Verschelde
d15de6f264
Merge pull request #96292 from AThousandShips/null_check_ref_fix
Cleanup of raw `nullptr` checks with `Ref`
2024-09-03 16:13:55 +02:00
Gilles Roudière
d75c5ec7ba Implement multiple occlusion polygons within each TileSet occlusion layer 2024-09-03 15:38:51 +02:00
Rémi Verschelde
9dbf9aa4dc
Merge pull request #96511 from lawnjelly/fix_namespace_conflict
Fix SCU global namespace conflict in `resource_format_text.cpp`
2024-09-03 11:44:09 +02:00
Rémi Verschelde
a2b64ed544
Merge pull request #95961 from RadiantUwU/fix-mesh-recursion
Fix shadow mesh recursion.
2024-09-03 11:43:16 +02:00
Rémi Verschelde
5633080147
Merge pull request #93624 from EAinsley/complete#3942
Add duplicate animation for SpriteFrames
2024-09-03 11:43:00 +02:00
lawnjelly
543ab3da11 Fix SCU global namespace conflict in resource_format_text.cpp
`FORMAT_VERSION` is used in multiple places in the codebase, and #defining it was causing conflicts.
2024-09-03 07:30:56 +01:00