Răsfoiți Sursa

fixed out of memory in js with large models

Nicolas Cannasse 2 ani în urmă
părinte
comite
f5ea036afd
1 a modificat fișierele cu 5 adăugiri și 2 ștergeri
  1. 5 2
      hxd/fmt/fbx/HMDOut.hx

+ 5 - 2
hxd/fmt/fbx/HMDOut.hx

@@ -118,8 +118,9 @@ class HMDOut extends BaseLibrary {
 			throw "Failed to call 'mikktspace' executable required to generate tangent data. Please ensure it's in your PATH";
 			throw "Failed to call 'mikktspace' executable required to generate tangent data. Please ensure it's in your PATH";
 		}
 		}
 		var bytes = sys.io.File.getBytes(outFile);
 		var bytes = sys.io.File.getBytes(outFile);
-		var arr = [];
-		for( i in 0...index.vidx.length*4 )
+		var size = index.vidx.length*4;
+		var arr = new hxd.FloatBuffer(size);
+		for( i in 0...size )
 			arr[i] = bytes.getFloat(i << 2);
 			arr[i] = bytes.getFloat(i << 2);
 		sys.FileSystem.deleteFile(fileName);
 		sys.FileSystem.deleteFile(fileName);
 		sys.FileSystem.deleteFile(outFile);
 		sys.FileSystem.deleteFile(outFile);
@@ -220,6 +221,8 @@ class HMDOut extends BaseLibrary {
 		var colors = geom.getColors();
 		var colors = geom.getColors();
 		var mats = geom.getMaterials();
 		var mats = geom.getMaterials();
 
 
+		check();
+
 		// remove empty color data
 		// remove empty color data
 		if( colors != null ) {
 		if( colors != null ) {
 			var hasData = false;
 			var hasData = false;