[3.x] Mesh merging - refactor to be backward compatible for CPU / GPU storage #92105
+95
−68
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Allows the old
merge_meshes()
function to work from the editor.Fixes #91988
Most of the lines changed here are just moving the implementation functions to a new location. The bug fix is allowing them to be called choosing storage CPU or GPU etc, and defaulting the old function to store in GPU (which is the old way in 3.5).
So the PR is actually very simple and doesn't require in depth review or specialist knowledge (it just looks more complex because of moving a bit of code).
Notes
MergeGroups
totally changed the backend for merging, which inadvertently broke the oldmerge_meshes()
function inMeshInstance
when used from the editor.MeshInstance
merging functions to theMergingTool
, and converts the results from the wrappers to GPU meshes, so they are suitable for use in the editor and rendering.