Pārlūkot izejas kodu

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 gadi atpakaļ
vecāks
revīzija
d558f08fb0
1 mainītis faili ar 6 papildinājumiem un 1 dzēšanām
  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();
 
 		}