summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_storage.h
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2020-12-16 17:28:05 -0300
committerGitHub <noreply@github.com>2020-12-16 17:28:05 -0300
commit9c39b51c5306333ba210c0a323f4198a258b51bd (patch)
tree0b4a378b86c7a3d6e20534e99460e05384ace298 /servers/rendering/renderer_storage.h
parentc514cc58224e5c973ac8be7bb6db7023d5c25906 (diff)
parentbf77016c8a3cc9a8ff4c57c0fc32a4255006391b (diff)
downloadredot-engine-9c39b51c5306333ba210c0a323f4198a258b51bd.tar.gz
Merge pull request #44430 from reduz/reimplement-skeletons-blendshapes
Reimplement skeletons and blend shapes
Diffstat (limited to 'servers/rendering/renderer_storage.h')
-rw-r--r--servers/rendering/renderer_storage.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/servers/rendering/renderer_storage.h b/servers/rendering/renderer_storage.h
index 03d4397d77..2dbef2fcc6 100644
--- a/servers/rendering/renderer_storage.h
+++ b/servers/rendering/renderer_storage.h
@@ -187,6 +187,8 @@ public:
virtual RID mesh_create() = 0;
+ virtual void mesh_set_blend_shape_count(RID p_mesh, int p_blend_shape_count) = 0;
+
/// Returns stride
virtual void mesh_add_surface(RID p_mesh, const RS::SurfaceData &p_surface) = 0;
@@ -211,6 +213,16 @@ public:
virtual void mesh_clear(RID p_mesh) = 0;
+ virtual bool mesh_needs_instance(RID p_mesh, bool p_has_skeleton) = 0;
+
+ /* MESH INSTANCE */
+
+ virtual RID mesh_instance_create(RID p_base) = 0;
+ virtual void mesh_instance_set_skeleton(RID p_mesh_instance, RID p_skeleton) = 0;
+ virtual void mesh_instance_set_blend_shape_weight(RID p_mesh_instance, int p_shape, float p_weight) = 0;
+ virtual void mesh_instance_check_for_update(RID p_mesh_instance) = 0;
+ virtual void update_mesh_instances() = 0;
+
/* MULTIMESH API */
virtual RID multimesh_create() = 0;