Просмотр исходного кода

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 лет назад
Родитель
Сommit
d558f08fb0
1 измененных файлов с 6 добавлено и 1 удалено
  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();
 
 		}