@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.
20 lines (17 loc) • 1.12 kB
JavaScript
import { c as createMaterialView } from './material-view-BNol7ieU.esm.js';
import { H as PBR2_ESM_SHADOW_OUTPUT, Q as PBR_HAS_ALPHA_BLEND } from './index-By0tcgYN.esm.js';
const PBR_ESM_SHADOW_DEPTH_CODE = `let depthMetricSM = (input.clipPos.z + shadowParams.depthValues.x) / shadowParams.depthValues.y + shadowParams.biasAndScale.x;
let depthSM = clamp(exp(-min(87.0, shadowParams.biasAndScale.z * depthMetricSM)), 0.0, 1.0);
return vec4<f32>(depthSM, 1.0, 1.0, 1.0);`;
function createPbrEsmShadowMaterialView(source, shadowParamsUBO) {
const features = source._renderFeatures ?? { features: 0, features2: 0 };
const view = createMaterialView(source, {
features: features.features & ~PBR_HAS_ALPHA_BLEND,
features2: (features.features2 ?? 0) | PBR2_ESM_SHADOW_OUTPUT
});
Object.defineProperty(view, "_esmShadowParamsUBO", { value: shadowParamsUBO, enumerable: false });
Object.defineProperty(view, "_esmShadowDepthCode", { value: PBR_ESM_SHADOW_DEPTH_CODE, enumerable: false });
return view;
}
export { createPbrEsmShadowMaterialView };
//# sourceMappingURL=esm-shadow-view-CmCF9w6S.esm.js.map