Dispose three objects after reading.

This commit is contained in:
kovacsv 2021-08-06 22:31:43 +02:00
parent 4d0e4a0bd6
commit 53b9218cc5
2 changed files with 11 additions and 3 deletions

View File

@ -24,12 +24,19 @@ OV.ThreeImporter = class extends OV.ImporterBase
ClearContent ()
{
if (this.loadedScene !== undefined && this.loadedScene !== null) {
this.loadedScene.traverse ((child) => {
if (child.isMesh) {
child.geometry.dispose ();
}
});
this.loadedScene = null;
}
}
ResetContent ()
{
this.loadedScene = null;
}
ImportContent (fileContent, onFinish)
@ -109,6 +116,7 @@ OV.ThreeImporter = class extends OV.ImporterBase
OnThreeObjectsLoaded (scene, onFinish)
{
this.loadedScene = scene;
scene.traverse ((child) => {
if (child.isMesh) {
// TODO: merge same materials

View File

@ -95,8 +95,8 @@ OV.ConvertThreeMaterialToMaterial = function (threeMaterial)
OV.ConvertThreeGeometryToMesh = function (threeGeometry, materialIndex)
{
// TODO: check if buffergeometry
// TODO: name
let mesh = new OV.Mesh ();
mesh.SetName (threeGeometry.name);
let vertices = threeGeometry.attributes.position.array;
for (let i = 0; i < vertices.length; i += 3) {
let x = vertices[i];