});
window.addEventListener("load", function () {
+ const mtlLoader = (new THREE.MTLLoader()).setPath("/assets/meshes/").setResourcePath("/assets/meshes/");
+ const objLoader = (new THREE.OBJLoader()).setPath("/assets/meshes/").setResourcePath("/assets/meshes/");
+
async function loadObj(modelName) {
- const mtlLib = await (new THREE.MTLLoader()).setPath("/assets/meshes/").setResourcePath("/assets/meshes/").loadAsync(modelName + ".mtl");
+ const mtlLib = await mtlLoader.loadAsync(modelName + ".mtl");
mtlLib.preload();
- return await (new THREE.OBJLoader()).setPath("/assets/meshes/").setResourcePath("/assets/meshes/").setMaterials(mtlLib).loadAsync(modelName + ".obj");
+ return await objLoader.setMaterials(mtlLib).loadAsync(modelName + ".obj");
}
// Mesh viewing