Amp-Thread-ID: https://ampcode.com/threads/T-01a01380-b478-77d0-84a0-102880a5c5ae Co-authored-by: Heaust Azure <heaust.azure@gmail.com>
20 lines
676 B
JavaScript
20 lines
676 B
JavaScript
import { culling } from "../render-graph-studio/render-graph/presets.js";
|
|
import { importGltf } from "./09-gltf-import-worker.js";
|
|
import { compileAndSwitch, dropActiveGraph } from "./08-compile-and-switch.js";
|
|
|
|
/** Combine the complete JSO graph, shared glTF import, and mesh-handle facade. */
|
|
export async function loadCompleteScene(core, gltfUrl) {
|
|
const compiled = await compileAndSwitch(core, culling);
|
|
try {
|
|
const meshes = await importGltf(core, gltfUrl);
|
|
return {
|
|
compiled,
|
|
meshes,
|
|
dispose: () => dropActiveGraph(core, compiled),
|
|
};
|
|
} catch (error) {
|
|
await dropActiveGraph(core, compiled).catch(() => {});
|
|
throw error;
|
|
}
|
|
}
|