diff --git a/src/renderers/common/Bindings.js b/src/renderers/common/Bindings.js index 265874db985ff0..5026435abc3e16 100644 --- a/src/renderers/common/Bindings.js +++ b/src/renderers/common/Bindings.js @@ -170,6 +170,22 @@ class Bindings extends DataMap { } + /** + * Deletes the bindings for the given renderObject node. + * + * @param {RenderObject} renderObject - The renderObject. + */ + deleteForRender( renderObject ) { + + const bindings = renderObject.getBindings(); + + for ( const bindGroup of bindings ) { + + this.delete( bindGroup ); + + } + + } /** * Updates the given array of bindings. diff --git a/src/renderers/common/RenderObjects.js b/src/renderers/common/RenderObjects.js index b8ea0e0ed99e99..0495aa7d50effa 100644 --- a/src/renderers/common/RenderObjects.js +++ b/src/renderers/common/RenderObjects.js @@ -185,7 +185,7 @@ class RenderObjects { renderObject.onDispose = () => { this.pipelines.delete( renderObject ); - this.bindings.delete( renderObject ); + this.bindings.deleteForRender( renderObject ); this.nodes.delete( renderObject ); chainMap.delete( renderObject.getChainArray() );