Re-prepare RenderingServer if SoftDynamicBody mesh changed
This commit is contained in:
parent
18c912c332
commit
d000ce9130
2 changed files with 4 additions and 3 deletions
|
@ -411,8 +411,9 @@ void SoftDynamicBody3D::_draw_soft_mesh() {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!rendering_server_handler.is_ready()) {
|
||||
rendering_server_handler.prepare(get_mesh()->get_rid(), 0);
|
||||
const RID mesh_rid = get_mesh()->get_rid();
|
||||
if (!rendering_server_handler.is_ready(mesh_rid)) {
|
||||
rendering_server_handler.prepare(mesh_rid, 0);
|
||||
|
||||
/// Necessary in order to render the mesh correctly (Soft body nodes are in global space)
|
||||
simulation_started = true;
|
||||
|
|
|
@ -50,7 +50,7 @@ class SoftDynamicBodyRenderingServerHandler : public RenderingServerHandler {
|
|||
|
||||
private:
|
||||
SoftDynamicBodyRenderingServerHandler();
|
||||
bool is_ready() { return mesh.is_valid(); }
|
||||
bool is_ready(RID p_mesh_rid) const { return mesh.is_valid() && mesh == p_mesh_rid; }
|
||||
void prepare(RID p_mesh_rid, int p_surface);
|
||||
void clear();
|
||||
void open();
|
||||
|
|
Loading…
Reference in a new issue