Quellcode durchsuchen

Editor: deallocating removed objects and helpers.

I wonder what to do about geometries and materials used by removed objects. Seems like we would need to implement some reference counting scheme (we can't just remove deleted object subcomponents as they could be shared).
alteredq vor 13 Jahren
Ursprung
Commit
d558f08fb0
1 geänderte Dateien mit 6 neuen und 1 gelöschten Zeilen
  1. 6 1
      editor/js/ui/Viewport.js

+ 6 - 1
editor/js/ui/Viewport.js

@@ -446,12 +446,14 @@ var Viewport = function ( signals ) {
 		// remove selected object from the scene
 
 		selected.parent.remove( selected );
+		selected.deallocate();
 
 		// remove eventual pure Object3D targets from the scene
 
 		if ( selected.target && !selected.target.geometry ) {
 
 			selected.target.parent.remove( selected.target );
+			selected.target.deallocate();
 
 		}
 
@@ -471,7 +473,10 @@ var Viewport = function ( signals ) {
 
 		for ( var i = 0; i < helpersToRemove.length; i ++ ) {
 
-			helpersToRemove[ i ].parent.remove( helpersToRemove[ i ] );
+			var helper = helpersToRemove[ i ];
+
+			helper.parent.remove( helper );
+			helper.deallocate();
 
 		}