CreateScene(scene: Scene, canvas: HTMLCanvasElement) {
this.light = new HemisphericLight(“light”, new Vector3(0, 1, 0), this.scene);
this.light.parent = this.camera;
const envTexture = CubeTexture.CreateFromPrefilteredData("./assets/environment/environmentSpecular.env", scene);
scene.environmentTexture = envTexture;
var blur = 0.8;
scene.createDefaultSkybox(envTexture, true, 10000, blur);
scene.clearCachedVertexData();
scene.cleanCachedTextureBuffer();
scene.createDefaultCamera();
DracoCompression.Configuration = {
decoder: {
wasmUrl: './assets/js/draco_wasm_wrapper_gltf.js',
wasmBinaryUrl: './assets/js/draco_decoder_gltf.wasm',
fallbackUrl: './assets/js/draco_decoder_gltf.js',
}
};
this.meshUrl = this.productDetail.productCode + ".glb";
this.modalPath = environment[global.env].RESOURCE_URL_AMAZON + environment[global.env].RESOURCE_CONTAINER + environment[global.env].oemCode + "/preview/" + this.productDetail.productCode + '.glb';
Tools.LoadFile("./assets/models/" + this.meshUrl, async (data: any) => {
try {
var dracoCompression = new DracoCompression();
var attributes = {
[VertexBuffer.PositionKind]: 3
};
var vertexData = await dracoCompression.decodeMeshAsync(data, attributes);
var mesh = new Mesh("dracoMesh", scene);
var geometry = new Geometry("dracoGeometry", scene, vertexData, undefined, mesh);
mesh.material = new PBRMaterial("material", scene);
mesh.material.sideOrientation = Material.CounterClockWiseSideOrientation;
scene.createDefaultCameraOrLight(true, undefined, true);
} catch (error) {
console.error("Error loading 3D model:", error);
}
}, undefined, undefined, true);
return scene;
} that is my code