UNPKG

@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
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