Nazarii
660e28f5cb
Use static LocalVector for processed_hashes
2024-08-30 19:41:38 +03:00
nazarii
3580ced21e
Optimize animations
2024-08-30 19:18:56 +03:00
Rémi Verschelde
909629d9f9
Merge pull request #96166 from AThousandShips/more_lock_raii
...
Use `MutexLock` in more places
2024-08-30 09:59:19 +02:00
Rémi Verschelde
653a888060
Merge pull request #95463 from DeeJayLSP/qoa-mem
...
QOA: Remove unnecessary memory allocation
2024-08-30 09:59:10 +02:00
rune-scape
154049ce17
StringName Dictionary keys
...
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
kleonc
86c773d208
Fix StyleBoxFlat rectangles skewing independently
2024-08-29 15:34:30 +02:00
A Thousand Ships
e33fdb4296
Use `MutexLock` in more places
2024-08-29 14:12:59 +02:00
Rémi Verschelde
96cbcc30e2
Merge pull request #90945 from Scony/extract-navigation-defaults
...
Extract navigation-related defaults to separate header
2024-08-29 10:36:14 +02:00
bruvzg
fc2fae2ab1
Account for dropcap when calculating paragraph size, fix duplicate last char when using dropcap with autowrap off.
2024-08-29 09:37:23 +03:00
BlueCube3310
6412cdf27d
Fix saving subresources of nodes
2024-08-28 12:37:10 +02:00
Rémi Verschelde
78935cad95
Merge pull request #94954 from raulsntos/mark-internal-properties
...
Mark underscored properties as internal
2024-08-28 00:12:42 +02:00
Rémi Verschelde
9f70823eec
Merge pull request #94012 from KoBeWi/reload_everything_to_update_one_line
...
Allow live reloading of built-in scripts
2024-08-28 00:11:53 +02:00
Pawel Lampe
c3f1bfd5cb
Extract navigation-related defaults to separate header
2024-08-27 20:12:10 +02:00
Rémi Verschelde
9dfc41568a
Merge pull request #95984 from timothyqiu/what-identifier
...
Add `String.is_valid_unicode_identifier()`
2024-08-27 16:55:06 +02:00
Rémi Verschelde
21bcff00e9
Merge pull request #95126 from Chaosus/shader_cubemap_fix
...
Allow setting a cubemap as default parameter to shader
2024-08-27 16:54:50 +02:00
Chaosus
db251a3f99
Allow setting a cubemap as default parameter to shader
2024-08-27 09:43:05 +03:00
Chaosus
f538376c3b
Add `CLIP_SPACE_FAR` built-in to spatial shader
2024-08-27 08:48:46 +03:00
Haoyu Qiu
8bf4ecc026
Add `String.is_valid_unicode_identifier()`
...
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
Rémi Verschelde
0125b0eb03
Merge pull request #94215 from Chaosus/vs_preview_and_param_list
...
Add a material preview to visual shader editor
2024-08-26 23:28:46 +02:00
Rémi Verschelde
347700cd95
Merge pull request #83443 from Chaosus/vs_fix_input_sorting
...
Fix visual shader inputs to follow the alphabet order
2024-08-26 23:28:04 +02:00
Rémi Verschelde
350bde0db6
Merge pull request #95954 from rakkarage/shader-material-reset
...
Enable revert button for `ShaderMaterial::next_pass` and `ShaderMaterial::render_priority`.
2024-08-26 22:45:37 +02:00
Rémi Verschelde
8dad1ba482
Merge pull request #92933 from TokageItLab/match-concatenating
...
Match the coding style for concatenating String
2024-08-26 22:44:59 +02:00
DeeJayLSP
703c31fb40
WAV: Add missing break on `get_length()`
2024-08-25 14:18:26 -03:00
DeeJayLSP
b4d44a4253
QOA: Remove unnecessary memory allocation
2024-08-24 21:39:55 -03:00
Rakka Rage
ba23b22153
Enable revert button for `ShaderMaterial::next_pass` and `ShaderMaterial::render_priority`.
2024-08-22 16:28:59 -04:00
Rémi Verschelde
091212b4f1
Merge pull request #93602 from aaronp64/inspector_latency
...
Improve Editor Inspector/Theme item lookup performance
2024-08-22 00:10:26 +02:00
Yuri Rubinsky
eef236db63
Fix visual shader inputs to follow the alphabet order
2024-08-20 20:51:47 +03:00
aaronp64
7593e55527
Improve Editor Inspector/Theme item lookup performance
...
Changes to reduce the latency between changing node selection in the editor and seeing the new node reflected in the Inspector tab
- Use Vector instead of List for ThemeOwner::get_theme_type_dependencies and related functions
- Use Vector instead of List for ThemeContext::themes, set_themes(), and get_themes()
- Add ClassDB:get_inheritance_chain_nocheck to get all parent/ancestor classes at once, to avoid repeated ClassDB locking overhead
- Update BIND_THEME_ITEM macros and ThemeDB::update_class_instance_items to use provided StringNames for call to ThemeItemSetter, instead of creating a new StringName in each call
These changes reduce the time taken by EditorInspector::update_tree by around 30-35%
2024-08-20 13:39:40 -04:00
Rémi Verschelde
7999b4bb8a
Merge pull request #94324 from SomeRanDev/shader_hint_enum
...
GDShader: Add `hint_enum` for `uniform int`
2024-08-20 10:01:57 +02:00
Rémi Verschelde
6a9ecdcf0c
Merge pull request #91818 from rburing/fti_multimesh
...
Physics interpolation: `MultiMesh`
2024-08-20 10:01:46 +02:00
Rémi Verschelde
da57bab169
Merge pull request #92560 from smix8/navmesh2d_bake_partition
...
Add triangulation partition option to 2D navigation mesh baking
2024-08-19 16:04:49 +02:00
Rémi Verschelde
8b98d9aa4d
Merge pull request #95137 from smix8/source_geo_bounds
...
Add `get_bounds()` function to NavigationMeshSourceGeometryData
2024-08-19 14:34:13 +02:00
Rémi Verschelde
43c46b9b1b
Merge pull request #95013 from smix8/navmesh_geo_parse
...
Change NavigationMesh to also parse collision shapes by default
2024-08-19 12:08:55 +02:00
smix8
2e1f6b50fb
Add bounds function to NavigationMeshSourceGeometryData
...
Adds get_bounds() function to NavigationMeshSourceGeometryData2D/3D to get a bounding box that covers all the geometry.
2024-08-19 00:12:37 +02:00
Ricardo Buring
1728f80e7c
Fixed Timestep Interpolation: MultiMesh
...
Adds fixed timestep interpolation to multimeshes.
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-08-18 17:14:59 +02:00
Yuri Rubinsky
f202a3d24e
Add a material preview to visual shader editor
2024-08-17 08:27:54 +03:00
Patrick Sean Klein
a1fe6ffa19
NavigationPolygon: Implement get/set_polygon fast paths.
2024-08-17 00:31:58 +02:00
Arseny Kapoulkine
0fde03c0e0
Optimize base and shadow meshes for cache
...
Previously, vertex cache optimization was ran for the LOD meshes, but
was never ran for the base mesh or for the shadow meshes, including
shadow LOD chain (shadow LOD chain would sometimes get implicitly
optimized for vertex cache as a byproduct of base LOD optimization, but
not always). This could significantly affect the rendering performance
of geometry heavy scenes, especially for depth or shadow passes where
the fragment load is light.
2024-08-16 07:36:12 -07:00
Rémi Verschelde
a778f7803c
Merge pull request #95529 from bruvzg/bmfont_match_h
...
[BMFont] Fix importing fonts with `Match char height` enabled.
2024-08-16 14:35:32 +02:00
Rémi Verschelde
1346aaf4e7
Merge pull request #95465 from jsjtxietian/remove-category-warning
...
Remove `missing a category` warning in visual shader node
2024-08-16 14:34:56 +02:00
Rémi Verschelde
60b0b5cd42
Merge pull request #95337 from kleonc/tile_set_editor_fix_transposed_polygons_editing
...
Fix polygon drawing for transposed tiles in `TileSet` editor
2024-08-16 14:33:37 +02:00
Rémi Verschelde
e43a328f8e
Merge pull request #95464 from tetrapod00/visual-shader-inspector-spatial-node3d-rename
...
Fix wrong name for Spatial shader mode in VisualShader resource inspector
2024-08-16 10:36:22 +02:00
Rémi Verschelde
5960555f9b
Merge pull request #94726 from BastiaanOlij/primitive_texel_size_update
...
Make primitive meshes react to texel size change
2024-08-16 10:34:35 +02:00
Rémi Verschelde
e58a7530aa
Merge pull request #93727 from zeux/raycast-opt
...
Disable normal raycaster for LOD generation by default
2024-08-16 10:34:03 +02:00
bruvzg
e7f215c2c4
[BMFont] Fix importing fonts with `Match char height` enabled.
2024-08-14 23:52:19 +03:00
jsjtxietian
c7249f41e9
Remove `missing a category` warning in visual shader node
2024-08-13 12:20:59 +08:00
tetrapod00
b9876b626d
Change "Node3D" to "Spatial" in VisualShader resource
2024-08-12 21:04:13 -07:00
Rémi Verschelde
ece2e6d23b
Merge pull request #95377 from raulsntos/gdextension/expose-property-accessors/Animation
...
Make `Animation::capture_included` read-only
2024-08-12 14:10:37 +02:00
Raul Santos
415331f474
Make `Animation::capture_included` read-only
...
The `PROPERTY_USAGE_READ_ONLY` flag only makes the property read-only in the inspector, but the property also has the `PROPERTY_USAGE_NO_EDITOR` flag which means it won't show up in the inspector. So it does nothing, while still making it editable from scripting.
To make it read-only for scripting too, this PR removes the setter from the `PropertyInfo`. And since the `set_capture_included` method is now unused, it was also removed.
2024-08-10 18:53:45 +02:00
kleonc
6895f6f8cc
Fix TileAtlasView bounds checks for transposed tiles
2024-08-09 19:26:02 +02:00
Rémi Verschelde
2edf9b95b3
AudioStreamPolyphonic: Implement stopping with sample playback
...
Fixes #94724 .
2024-08-09 10:57:50 +02:00
smix8
110b2dc61a
Add triangulation partition option to 2D navigation mesh baking
...
Adds triangulation partition option to 2D navigation mesh baking as an alternative to the existing convex partition option.
2024-08-05 00:08:46 +02:00
bruvzg
5c8a8c57be
[Font] Add check for cyclic base font dependencies.
2024-08-03 00:00:11 +03:00
smix8
c9b152bd0c
Change NavigationMesh to also parse collision shapes by default
...
Changes NavigationMesh parse geometry types to include collision shapes as well by default.
2024-08-01 14:41:49 +02:00
Raul Santos
7a20ba9b63
Mark underscored properties as internal
...
These properties look like they were intended to be internal but they were missing the `PROPERTY_USAGE_INTERNAL` flag.
- `PackedScene::_bundled`
- `PortableCompressedTexture2D::_data`
- `ImporterMesh::_data`
2024-07-30 18:50:00 +02:00
Silc 'Tokage' Renew
0235086c14
Add validation to glTF importer for Blendshape and Animation
2024-07-26 18:05:34 +09:00
Bastiaan Olij
b9790cef47
Make primitive meshes react to texel size change
2024-07-26 13:54:11 +10:00
Rémi Verschelde
543e4388d5
Merge pull request #94682 from zeux/lod-uv-mirror
...
Fix LOD generation for meshes with tangents & mirrored UVs
2024-07-24 09:59:45 +02:00
Arseny Kapoulkine
18d6ae1161
Fix LOD generation for meshes with tangents & mirrored UVs
...
When UVs are mirrored in a mesh, collapsing vertices across the
mirroring seam can significantly reduce quality in a way that is not
apparent to the simplifier. Even if simplifier was given access to UV
data, the coordinates would need to be weighted very highly to prevent
these collapses, which would penalize overall quality of reasonable
models.
Normally, well behaved models with mirrored UVs have tangent data that
is correctly mirrored, which results in duplicate vertices along the
seam. The simplifier automatically recognizes that seam and preserves
its structure; typically models have few edge loops where UV winding is
flipped so this does not affect simplification quality much.
However, pre-processing for LOD data welded vertices when UVs and
normals were close, which welds these seams and breaks simplification,
creating triangles with distorted UVs.
We now take tangent frame sign into account when the input model has
tangent data, and only weld vertices when the sign is the same.
2024-07-23 16:35:46 -07:00
Silc Lizard (Tokage) Renew
88e590c9d3
Add approx comparing methods to Animation, use them on time comparison
2024-07-24 01:18:06 +09:00
Rémi Verschelde
962c2512c3
Merge pull request #94611 from Chaosus/vs_fix_texture_warning
...
Fix warning printing for `VisualShaderNodeTextureParameter`
2024-07-22 14:13:20 +02:00
David Trallero
67ece3dc63
Fix polyphonic audio streams with id > 1 cannot be stopped or changed (MSVC mis-optimization)
2024-07-22 14:08:02 +02:00
Yuri Rubinsky
7c9afbc139
Fix warning printing for `VisualShaderNodeTextureParameter`
2024-07-22 11:22:27 +03:00
Rémi Verschelde
caa1b6d991
Merge pull request #94498 from Chaosus/vs_fix_connection_bug
...
Fix internal connection count decreased if visual shader node removed
2024-07-18 15:38:27 +02:00
Rémi Verschelde
72e434bad4
Merge pull request #94497 from Chaosus/vs_rotation_by_axis
...
Few fixes for `VisualShaderNodeRotationByAxis`
2024-07-18 15:38:24 +02:00
kobewi
10da06a32c
Fix empty region in AtlasTexture
2024-07-18 15:31:59 +02:00
Yuri Rubinsky
14c36b733c
Fix internal connection count decreased if visual shader node removed
2024-07-18 11:40:02 +03:00
Yuri Rubinsky
cf70cb57ee
Few fixes for `VisualShaderNodeRotationByAxis`
2024-07-18 11:10:36 +03:00
Rémi Verschelde
c77c41df88
Merge pull request #94362 from smix8/navpoly_unref_fix
...
Fix NavigationPolygon not updating consistently on rebakes
2024-07-17 11:44:09 +02:00
smix8
9dd05964d5
Fix NavigationPolygon not updating consistently on rebakes
...
Fixes that NavigationPolygon did not update in all cases because the internal NavigationMesh was not always unref and freed which blocked creating a new mesh later if nothing else freed it.
2024-07-14 22:01:11 +02:00
Robert Borghese
1052985b00
Add `hint_enum` for uniform int in gdshader
2024-07-13 14:30:08 -04:00
Yuri Rubinsky
92aa01f937
Add few new outputs to the visual shaders
2024-07-12 17:12:22 +03:00
kobewi
5636518358
Allow live reloading of built-in scripts
2024-07-06 23:43:37 +02:00
bruvzg
847aadee02
[Editor] Update font preview directly instead of invalidating property list.
2024-07-05 12:48:39 +03:00
Rémi Verschelde
4d984b6369
Merge pull request #93930 from Arnklit/short-animation-length-bezier-handle-fix
...
Clamp bezier handle length to half the length of animation
2024-07-04 17:12:22 +02:00
Rémi Verschelde
af55caff36
Merge pull request #93723 from KoBeWi/bandaid.tscn
...
Speed up scene group scanning for text scenes
2024-07-04 17:12:06 +02:00
Kasper Frandsen
7c6f32ddbf
Clamp bezier handle length to half the length of animation
2024-07-04 13:41:12 +01:00
Arseny Kapoulkine
a13a64eacd
Disable normal raycaster for LOD generation by default
...
Normal raycaster makes LOD generation process >2x slower and often
generates normals that look significantly worse compared to what the
simplifier comes up with by default. This was likely different before
last meshoptimizer upgrade, as the attribute metric was not functioning
properly, but now it looks like it's doing more harm than good.
This change makes it disabled by default but keeps an easy option to
re-enable it per mesh using LOD parameters for now until we get more
confidence and can remove the code outright.
Because the long term plan would be to disable this feature entirely,
the scripting API isn't changed, and it's just off-by-default there with
no way to re-enable.
2024-07-02 10:18:15 -07:00
kleonc
88b29539f7
Fix AtlasTexture::draw_rect flipping for non-zero margin
2024-07-01 21:22:25 +02:00
kobewi
b83c64faac
Speed up scene group scanning for text scenes
2024-06-29 21:30:38 +02:00
Yuri Rubinsky
72c7e51905
Use `PackedVector4Array` instead of float array for vec4 array uniform
2024-06-28 13:34:43 +03:00
Pedro J. Estébanez
c1391489e3
GDScript: Enhance handling of cyclic dependencies
2024-06-26 17:44:32 +02:00
Rémi Verschelde
022b5a1f54
Merge pull request #93426 from smix8/poly_good_locking
...
Fix thread-use causing navigation polygon data corruption
2024-06-22 16:22:14 +02:00
Hugo Locurcio
281e0e6a5b
Allow BaseMaterial3D height/dither fade to work with Compatibility rendering
...
Compatibility is based on OpenGL ES 3.0, so the height shader
(including deep parallax) and distance fade dither modes work
just fine with no adjustments required.
2024-06-22 00:57:22 +02:00
smix8
eba3acadac
Fix thread-use causing navigation polygon data corruption
...
Fixes navigation polygon data corruption caused by thread-use that changed vertices or polygons while the navigation polygon was processed, e.g. by server region sync, navmesh baking or user thread updates.
2024-06-21 12:58:03 +02:00
Rémi Verschelde
04a530f91f
Merge pull request #93407 from smix8/lock_this_geometry_up
...
Fix thread-use causing navigation source geometry data corruption
2024-06-21 10:14:38 +02:00
smix8
fd727ab994
Fix thread use causing navigation mesh data corruption
...
Fixes navigation mesh data corruption caused by thread use that changed vertices or polygons while the navigation mesh was processed, e.g. by server sync or baking.
2024-06-21 09:39:16 +02:00
smix8
d4722b9e1f
Fix thread-use causing navigation source geometry data corruption
...
Fixes navigation source geometry data corruption caused by thread-use that changed vertices or indices while the source geometry data was used in a parsing process or read from by the navmesh baking.
2024-06-21 08:06:14 +02:00
maski
734fab7f20
Improve SurfaceTool::generate_tangents UV error message
...
Fixes #92395 .
2024-06-20 16:13:12 +02:00
Pedro J. Estébanez
e6d930b31f
AnimatedTexture: Fix crash when loaded from a thread
2024-06-19 09:54:01 +02:00
Adam Scott
52fa4f05f3
Add samples playback support
2024-06-18 11:06:31 -04:00
Yuri Rubinsky
537316098f
Fix bugs in visual shader varyings
2024-06-16 16:58:46 +03:00
Yuri Rubinsky
99fa6ee6c4
Fix incorrect preview port in visual shader
2024-06-14 12:31:34 +03:00
Rémi Verschelde
b4e7947d3f
Merge pull request #93127 from BlueCube3310/material-ready
...
Material: Fix marking as ready
2024-06-14 10:19:38 +02:00
Rémi Verschelde
6e1e6f0d3b
Merge pull request #92955 from libklein/fix-navigation-polygon-draw
...
TileSet: Transform rotated navigation (sub)-polygons individually.
2024-06-14 10:19:32 +02:00
Patrick Sean Klein
2dc42e8a93
TileSet: Maintain NavigationPolygon sub-polygons when rotating
...
The original implementation merged sub-polygons into a single polygon
when rotating. This can cause non-simple geometries downstream
algorithms cannot handle.
2024-06-13 22:16:46 +01:00
BlueCube3310
ea683cd152
Material: Fix marking as ready
2024-06-13 13:12:55 +02:00
Rémi Verschelde
f1ac3e26cc
Merge pull request #83729 from Chaosus/vs_fix_texture_param
...
Add extra warning messages to `VisualShaderNodeTextureParameter`
2024-06-12 10:00:23 +02:00
Rémi Verschelde
0d1f2396d5
Merge pull request #92847 from aaronp64/varying_getter_port_type
...
Fix `VisualShaderNodeVaryingGetter` expanded ports adding ".x" to shader
2024-06-11 16:59:25 +02:00
Rémi Verschelde
3d170c56d6
Merge pull request #92861 from TokageItLab/fix-animation-player-just-after-started
...
Fix seeking Animation immediate after playback for Discrete track
2024-06-10 16:11:55 +02:00