summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd/storage_rd/mesh_storage.h
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2023-01-27 14:55:22 -0800
committerclayjohn <claynjohn@gmail.com>2023-01-27 14:55:22 -0800
commiteb9c2b878a8c86a96a2c5013bf15a915df7e1338 (patch)
tree8d393ed910193f159e1ac71fe9b8eda365e0dd49 /servers/rendering/renderer_rd/storage_rd/mesh_storage.h
parent0f8f0ab126437ed593e6463b85a6ee25af9ee5d4 (diff)
downloadredot-engine-eb9c2b878a8c86a96a2c5013bf15a915df7e1338.tar.gz
Automatically transform Skeleton2D calculations so pivots are not needed
Diffstat (limited to 'servers/rendering/renderer_rd/storage_rd/mesh_storage.h')
-rw-r--r--servers/rendering/renderer_rd/storage_rd/mesh_storage.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/servers/rendering/renderer_rd/storage_rd/mesh_storage.h b/servers/rendering/renderer_rd/storage_rd/mesh_storage.h
index b62da5fd7b..c921523941 100644
--- a/servers/rendering/renderer_rd/storage_rd/mesh_storage.h
+++ b/servers/rendering/renderer_rd/storage_rd/mesh_storage.h
@@ -178,6 +178,7 @@ private:
bool weights_dirty = false;
SelfList<MeshInstance> weight_update_list;
SelfList<MeshInstance> array_update_list;
+ Transform2D canvas_item_transform_2d;
MeshInstance() :
weight_update_list(this), array_update_list(this) {}
};
@@ -256,6 +257,14 @@ private:
uint32_t normalized_blend_shapes;
uint32_t pad0;
uint32_t pad1;
+ float skeleton_transform_x[2];
+ float skeleton_transform_y[2];
+
+ float skeleton_transform_offset[2];
+ float inverse_transform_x[2];
+
+ float inverse_transform_y[2];
+ float inverse_transform_offset[2];
};
enum {
@@ -548,6 +557,7 @@ public:
virtual void mesh_instance_set_skeleton(RID p_mesh_instance, RID p_skeleton) override;
virtual void mesh_instance_set_blend_shape_weight(RID p_mesh_instance, int p_shape, float p_weight) override;
virtual void mesh_instance_check_for_update(RID p_mesh_instance) override;
+ virtual void mesh_instance_set_canvas_item_transform(RID p_mesh_instance, const Transform2D &p_transform) override;
virtual void update_mesh_instances() override;
/* MULTIMESH API */