Expose create_from_arrays
in SurfaceTool and cleanup some naming
#90834
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.
Currently, the only user-facing API to SurfaceTool is by using
ArrayMesh
, which requires copying CPU -> GPU -> CPU.The function for in-memory creation already existed internally
SurfaceTool::create_from_triangle_arrays
, since this is used by ImporterMesh and other import tooling, but this function was not exposed.Furthermore, when reviewing how this function was implemented, the code sets primitive to
PRIMITIVE_TRIANGLES
, yet does not depend on this assumption. I believe this was caused by the fact that it calls an erroneously-named internalstatic SurfaceTool::create_vertex_array_from_triangle_arrays
function, which is actually used internally for all types of meshes and makes no assumption about the primitive type.In summary, I'm renaming
create_vertex_array_from_triangle_arrays
tocreate_vertex_array_from_arrays
and adding a wrapper function for triangles so thatSurfaceTool::create_from_arrays
can be exposed.