| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Core: Integrate Ref `instantiate` where possible
|
| | |
|
|/
|
|
|
|
| |
performance
Avoid copies and redundant work.
|
|\
| |
| |
| | |
[TextParagraph/Button] Add support for line spacing.
|
| | |
|
|\ \
| | |
| | |
| | | |
Add collision priority property to TileSet physics layers
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
[Tree] Improve Tree Performance by replacing computed height with TreeItem's cached minimum size
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Fix `MissingResource` properties being stripped on save
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Remove const_cast in `List::erase`
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
Fix `AudioStreamWAV::save_to_wav` adding extra '.wav' to file if existing ext is not lower case
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| |_|_|_|/ / /
|/| | | | | |
| | | | | | | |
Optimize `TileSetAtlasSource::_get_property_list`
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Co-authored-by: Haoyu Qiu <timothyqiu@users.noreply.github.com>
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Rewrite index optimization code for maximum efficiency
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
While all the previous fixes to optimizeVertexCache invocation fixed the
vertex transform efficiency, the import code still was missing two
crucial recommendations from meshoptimizer documentation:
- All meshes should be optimized for vertex cache (this reorders
vertices for maximum fetch efficiency)
- When LODs are used with a shared vertex buffer, the vertex order
should be generated by doing a vertex fetch optimization on the
concatenated index buffer from coarse to fine LODs; this maximizes
fetch efficiency for coarse LODs
The last point is especially crucial for Mali GPUs; unlike other GPUs
where vertex order affects fetch efficiency but not shading, these GPUs
have various shading quirks (depending on the GPU generation) that
really require consecutive index ranges for each LOD, which requires the
second optimization mentioned above. However all of these also help
desktop GPUs and other mobile GPUs as well.
Because this optimization is "global" in the sense that it affects all
LODs and all vertex arrays in concert, I've taken this opportunity to
isolate all optimization code in this function and pull it out of
generate_lods and create_shadow_mesh; this doesn't change the vertex
cache efficiency, but makes the code cleaner. Consequently,
optimize_indices should be called after other functions like
create_shadow_mesh / generate_lods.
This required exposing meshopt_optimizeVertexFetchRemap; as a drive-by,
meshopt_simplifySloppy was never used so it's not exposed anymore - this
will simplify future meshopt upgrades if they end up changing the
function's interface.
|
|\ \ \ \ \ \ \ \
| |_|_|_|/ / / /
|/| | | | | | |
| | | | | | | | |
Don't mark `PROPERTY_USAGE_NO_EDITOR` properties for translation
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Using `PNAME()` on these properties are redundant as they won't be displayed
in the editor and some of them will be automatically ignored by the
extraction script.
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Style: Apply `clang-tidy` fixes
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
|
| | |/ / / / / /
| |/| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | |
| | | | | | | | |
Add support for external camera feed from external plugin on Android
|
| | |_|_|_|_|/
| |/| | | | | |
|
| |_|_|_|_|/
|/| | | | | |
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | |
| | | | | | |
Fix debug line drawing with tiny convex hull mesh colliders
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add alpha channel display to vec4 previews of visual shader nodes
|
| | |_|_|/ /
| |/| | | | |
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
LOD: Remove "Raycast Normals" and associated "Normal Split Angle" settings
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
"Raycast Normals" was introduced in 4.4 dev and defaulted to "false".
The limited testing results at the time suggested that raycasting
generally reduces normal quality compared to native simplifier results,
at the same time increasing vertex memory and import time.
To play it safe, we introduced a setting that defaulted to false, with
the goal of removing it later in 4.4 development cycle if no regressions
are noticed. Since we already had three dev snapshots and no reports,
this change removes the setting and associated code.
"Normal Split Angle" was only used when raycast normals were enabled;
this change removes it from the settings, but keeps it in the script
binding for compatibility.
Existing meshes import exactly the same after this change (unless they
chose to override raycasting which would be surprising).
split_normals helper was only used in this code path and is also removed
for simplicity; it is unlikely that this code will be useful as is, as
it can only regenerate normals without fixing tangents or updating
positions.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | |
| | | | | | |
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- Set clang-format `Standard` rule to `c++20`
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
Update meshoptimizer to 0.22
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The Godot-specific patch is just a single line now; removing this patch
will likely require adjusting Godot importer code to handle error limits
better.
This also adds new SIMPLIFY_ options; Godot is currently not using any
of these but might use SIMPLIFY_PRUNE and SIMPLIFY_SPARSE in the future.
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | |
| | | | | |
| | | | | |
| | | | | | |
Calinou/styleboxflat-corner-radius-increase-range-hint
Increase range hint for StyleBoxFlat `border_width`, `corner_radius` and `expand_margin`
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
`expand_margin`
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
Fix error when undo tile deletion in TileSetAtlasSourceEditor
|
| | |/ / /
| |/| | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | | |
ExternalTexture: Avoid error when destroyed without having been used
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Fix loss of gdextension on editor startup
|
| | |/ /
| |/| |
| | | |
| | | | |
Co-authored-by: NetroScript <noreply@enostrion.com>"
|
|\ \ \ \
| |_|/ /
|/| | |
| | | | |
Add "Inspect Native Shader Code" to shader inspector and shader editor
|
| | | | |
|
|\ \ \ \
| |_|_|/
|/| | |
| | | | |
Fix immediate mesh modifications that don't call set_mesh
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Mesh_instance_2d has no way to know when the mesh had been modified
unless you called set_mesh. This meant that you could modify the
underlying mesh without it knowing which could result in incorrect
result.
Modified mesh_instance_2d to be more similar to mesh_instance_3d which
connects to the changed signal of the mesh and reacts occordingly.
|
| |_|/
|/| | |
|