Bläddra i källkod

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 år sedan
förälder
incheckning
d558f08fb0
1 ändrade filer med 6 tillägg och 1 borttagningar
  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();
 
 		}