diff --git a/servers/rendering/dummy/storage/mesh_storage.h b/servers/rendering/dummy/storage/mesh_storage.h index a660a54445..0871c91ade 100644 --- a/servers/rendering/dummy/storage/mesh_storage.h +++ b/servers/rendering/dummy/storage/mesh_storage.h @@ -69,7 +69,11 @@ public: virtual void mesh_initialize(RID p_rid) override; virtual void mesh_free(RID p_rid) override; - virtual void mesh_set_blend_shape_count(RID p_mesh, int p_blend_shape_count) override {} + virtual void mesh_set_blend_shape_count(RID p_mesh, int p_blend_shape_count) override { + DummyMesh *m = mesh_owner.get_or_null(p_mesh); + ERR_FAIL_NULL(m); + m->blend_shape_count = p_blend_shape_count; + } virtual bool mesh_needs_instance(RID p_mesh, bool p_has_skeleton) override { return false; } virtual void mesh_add_surface(RID p_mesh, const RS::SurfaceData &p_surface) override { @@ -95,10 +99,23 @@ public: m->dependency.changed_notify(Dependency::DEPENDENCY_CHANGED_MESH); } - virtual int mesh_get_blend_shape_count(RID p_mesh) const override { return 0; } + virtual int mesh_get_blend_shape_count(RID p_mesh) const override { + DummyMesh *m = mesh_owner.get_or_null(p_mesh); + ERR_FAIL_NULL_V(m, 0); + return m->blend_shape_count; + } - virtual void mesh_set_blend_shape_mode(RID p_mesh, RS::BlendShapeMode p_mode) override {} - virtual RS::BlendShapeMode mesh_get_blend_shape_mode(RID p_mesh) const override { return RS::BLEND_SHAPE_MODE_NORMALIZED; } + virtual void mesh_set_blend_shape_mode(RID p_mesh, RS::BlendShapeMode p_mode) override { + DummyMesh *m = mesh_owner.get_or_null(p_mesh); + ERR_FAIL_NULL(m); + m->blend_shape_mode = p_mode; + } + + virtual RS::BlendShapeMode mesh_get_blend_shape_mode(RID p_mesh) const override { + DummyMesh *m = mesh_owner.get_or_null(p_mesh); + ERR_FAIL_NULL_V(m, RS::BLEND_SHAPE_MODE_NORMALIZED); + return m->blend_shape_mode; + } virtual void mesh_surface_update_vertex_region(RID p_mesh, int p_surface, int p_offset, const Vector &p_data) override {} virtual void mesh_surface_update_attribute_region(RID p_mesh, int p_surface, int p_offset, const Vector &p_data) override {}