@babylonjs/viewer
Version:
The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.
52 lines (49 loc) • 2.08 kB
JavaScript
import { T as ThrowLiteError } from './index-DMbDahsc.esm.js';
async function rebuildSceneShadowGenerators(engine, scene) {
const generators = new Set(scene.shadowGenerators);
for (const light of scene.lights) {
if (light.shadowGenerator) {
generators.add(light.shadowGenerator);
}
}
for (const generator of generators) {
if (generator._shadowType !== "esm") {
ThrowLiteError(375, generator._shadowType);
}
generator._shadowTaskState?._task.dispose();
generator._shadowTaskState = void 0;
generator._preloadPending = void 0;
const esm = await import('./index-DMbDahsc.esm.js').then(function (n) { return n.bS; });
const oldResources = esm.getEsmShadowTaskResources(generator);
if (!oldResources) {
ThrowLiteError(376);
}
const replacement = esm.createEsmDirectionalShadowGenerator(engine, generator._light, {
mapSize: generator._config._mapSize,
depthScale: generator._shadowsInfo[2],
bias: generator._config._bias,
blurKernel: oldResources._blurKernel,
blurScale: oldResources._blurScale,
darkness: generator._shadowsInfo[0],
frustumEdgeFalloff: generator._shadowsInfo[3],
orthoMinZ: generator._config._orthoMinZ,
orthoMaxZ: generator._config._orthoMaxZ,
forceRefreshEveryFrame: generator._config._forceRefreshEveryFrame
});
const newResources = esm.getEsmShadowTaskResources(replacement);
if (!newResources) {
ThrowLiteError(377);
}
generator._depthTexture = replacement._depthTexture;
generator._depthSampler = replacement._depthSampler;
generator._lightMatrix = replacement._lightMatrix;
generator._shadowsInfo = replacement._shadowsInfo;
generator._depthValues = replacement._depthValues;
generator._shadowParamsUBO = replacement._shadowParamsUBO;
generator._shadowUBO = replacement._shadowUBO;
generator._version++;
esm.setEsmShadowTaskResources(generator, newResources);
}
}
export { rebuildSceneShadowGenerators };
//# sourceMappingURL=shadow-recovery-wZDR5ghJ.esm.js.map