var createMesh = function (gl, arr) { var mesh = new Mesh(gl); mesh.setVertices(arr.vertices); if (arr.faces) mesh.setFaces(arr.faces); if (arr.uv && arr.facesUV) mesh.initTexCoordsDataFromOBJData(arr.uv, arr.facesUV); mesh.init(); if (gl) mesh.initRender(); return mesh; };
convertToStaticMesh: function (mesh) { if (!mesh.getDynamicTopology) // already static return mesh; // dynamic to static mesh var newMesh = new Mesh(mesh.getGL()); newMesh.setID(mesh.getID()); newMesh.setTransformData(mesh.getTransformData()); newMesh.setVertices(mesh.getVertices().subarray(0, mesh.getNbVertices() * 3)); newMesh.setColors(mesh.getColors().subarray(0, mesh.getNbVertices() * 3)); newMesh.setMaterials(mesh.getMaterials().subarray(0, mesh.getNbVertices() * 3)); newMesh.setFaces(mesh.getFaces().subarray(0, mesh.getNbFaces() * 4)); newMesh.init(); newMesh.setRender(mesh.getRender()); mesh.getRender()._mesh = newMesh; newMesh.initRender(); return newMesh; },