Browse Source

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 13 năm trước cách đây
mục cha
commit
d558f08fb0
1 tập tin đã thay đổi với 6 bổ sung1 xóa
  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();
 
 		}