From bf77016c8a3cc9a8ff4c57c0fc32a4255006391b Mon Sep 17 00:00:00 2001 From: reduz Date: Wed, 16 Dec 2020 11:07:08 -0300 Subject: Reimplement skeletons and blend shapes Uses compute shaders, which only once, on demand, and all in parallel. --- scene/resources/mesh.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'scene/resources/mesh.h') diff --git a/scene/resources/mesh.h b/scene/resources/mesh.h index 586bb2f802..b7f60bf814 100644 --- a/scene/resources/mesh.h +++ b/scene/resources/mesh.h @@ -171,6 +171,9 @@ class ArrayMesh : public Mesh { GDCLASS(ArrayMesh, Mesh); RES_BASE_EXTENSION("mesh"); + PackedStringArray _get_blend_shape_names() const; + void _set_blend_shape_names(const PackedStringArray &p_names); + Array _get_surfaces() const; void _set_surfaces(const Array &p_data); @@ -208,7 +211,7 @@ protected: public: void add_surface_from_arrays(PrimitiveType p_primitive, const Array &p_arrays, const Array &p_blend_shapes = Array(), const Dictionary &p_lods = Dictionary(), uint32_t p_flags = 0); - void add_surface(uint32_t p_format, PrimitiveType p_primitive, const Vector &p_array, const Vector &p_attribute_array, const Vector &p_skin_array, int p_vertex_count, const Vector &p_index_array, int p_index_count, const AABB &p_aabb, const Vector &p_blend_shape_data = Vector(), uint32_t p_blend_shape_count = 0, const Vector &p_bone_aabbs = Vector(), const Vector &p_lods = Vector()); + void add_surface(uint32_t p_format, PrimitiveType p_primitive, const Vector &p_array, const Vector &p_attribute_array, const Vector &p_skin_array, int p_vertex_count, const Vector &p_index_array, int p_index_count, const AABB &p_aabb, const Vector &p_blend_shape_data = Vector(), const Vector &p_bone_aabbs = Vector(), const Vector &p_lods = Vector()); Array surface_get_arrays(int p_surface) const override; Array surface_get_blend_shape_arrays(int p_surface) const override; -- cgit v1.2.3