summaryrefslogtreecommitdiffstats
path: root/servers/rendering_server.h
diff options
context:
space:
mode:
authorreduz <reduzio@gmail.com>2020-12-16 11:07:08 -0300
committerreduz <reduzio@gmail.com>2020-12-16 14:32:04 -0300
commitbf77016c8a3cc9a8ff4c57c0fc32a4255006391b (patch)
tree0b4a378b86c7a3d6e20534e99460e05384ace298 /servers/rendering_server.h
parentc514cc58224e5c973ac8be7bb6db7023d5c25906 (diff)
downloadredot-engine-bf77016c8a3cc9a8ff4c57c0fc32a4255006391b.tar.gz
Reimplement skeletons and blend shapes
Uses compute shaders, which only once, on demand, and all in parallel.
Diffstat (limited to 'servers/rendering_server.h')
-rw-r--r--servers/rendering_server.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/servers/rendering_server.h b/servers/rendering_server.h
index 5865cc7adf..598c23f4ee 100644
--- a/servers/rendering_server.h
+++ b/servers/rendering_server.h
@@ -282,8 +282,6 @@ public:
Vector<uint8_t> index_data;
uint32_t index_count = 0;
- uint32_t blend_shape_count = 0;
-
AABB aabb;
struct LOD {
float edge_length;
@@ -297,9 +295,11 @@ public:
RID material;
};
- virtual RID mesh_create_from_surfaces(const Vector<SurfaceData> &p_surfaces) = 0;
+ virtual RID mesh_create_from_surfaces(const Vector<SurfaceData> &p_surfaces, int p_blend_shape_count = 0) = 0;
virtual RID mesh_create() = 0;
+ virtual void mesh_set_blend_shape_count(RID p_mesh, int p_blend_shape_count) = 0;
+
virtual uint32_t mesh_surface_get_format_offset(uint32_t p_format, int p_vertex_len, int p_array_index) const;
virtual uint32_t mesh_surface_get_format_vertex_stride(uint32_t p_format, int p_vertex_len) const;
virtual uint32_t mesh_surface_get_format_attribute_stride(uint32_t p_format, int p_vertex_len) const;