@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.
130 lines (124 loc) • 4.94 kB
JavaScript
import { S as ShaderStore } from './index-MZPybX0H.esm.js';
import { p as packingFunctionsWGSL } from './packingFunctions-CRspvE8r.esm.js';
import { c as clipPlaneFragmentDeclarationWGSL, a as clipPlaneFragmentWGSL } from './clipPlaneFragment-C6Z5D7El.esm.js';
// Do not edit.
const name$3 = "bayerDitherFunctions";
const shader$3 = `fn bayerDither2(_P: vec2f)->f32 {return ((2.0*_P.y+_P.x+1.0)%(4.0));}
fn bayerDither4(_P: vec2f)->f32 {var P1: vec2f=((_P)%(2.0));
var P2: vec2f=floor(0.5*((_P)%(4.0)));
return 4.0*bayerDither2(P1)+bayerDither2(P2);}
fn bayerDither8(_P: vec2f)->f32 {var P1: vec2f=((_P)%(2.0));
var P2: vec2f=floor(0.5 *((_P)%(4.0)));
var P4: vec2f=floor(0.25*((_P)%(8.0)));
return 4.0*(4.0*bayerDither2(P1)+bayerDither2(P2))+bayerDither2(P4);}
`;
// Sideeffect
if (!ShaderStore.IncludesShadersStoreWGSL[name$3]) {
ShaderStore.IncludesShadersStoreWGSL[name$3] = shader$3;
}
/** @internal */
const bayerDitherFunctionsWGSL = { name: name$3, shader: shader$3 };
// Do not edit.
const name$2 = "shadowMapFragmentExtraDeclaration";
const shader$2 = `
uniform softTransparentShadowSM: vec2f;
varying vDepthMetricSM: f32;
uniform lightDataSM: vec3f;varying vPositionWSM: vec3f;
uniform biasAndScaleSM: vec3f;uniform depthValuesSM: vec2f;
varying zSM: f32;
`;
// Sideeffect
if (!ShaderStore.IncludesShadersStoreWGSL[name$2]) {
ShaderStore.IncludesShadersStoreWGSL[name$2] = shader$2;
}
/** @internal */
const shadowMapFragmentExtraDeclarationWGSL = { name: name$2, shader: shader$2 };
// Do not edit.
const name$1 = "shadowMapFragment";
const shader$1 = `var depthSM: f32=fragmentInputs.vDepthMetricSM;
depthSM=(length(fragmentInputs.vPositionWSM-uniforms.lightDataSM)+uniforms.depthValuesSM.x)/uniforms.depthValuesSM.y+uniforms.biasAndScaleSM.x;
depthSM=(-fragmentInputs.zSM+uniforms.depthValuesSM.x)/uniforms.depthValuesSM.y+uniforms.biasAndScaleSM.x;
depthSM=(fragmentInputs.zSM+uniforms.depthValuesSM.x)/uniforms.depthValuesSM.y+uniforms.biasAndScaleSM.x;
depthSM=clamp(depthSM,0.0,1.0);
fragmentOutputs.fragDepth=clamp(1.0-depthSM,0.0,1.0);
fragmentOutputs.fragDepth=clamp(depthSM,0.0,1.0);
depthSM=(length(fragmentInputs.vPositionWSM-uniforms.lightDataSM)+uniforms.depthValuesSM.x)/uniforms.depthValuesSM.y+uniforms.biasAndScaleSM.x;
depthSM=clamp(exp(-min(87.,uniforms.biasAndScaleSM.z*depthSM)),0.,1.);
fragmentOutputs.color= vec4f(depthSM,1.0,1.0,1.0);
fragmentOutputs.color=pack(depthSM);
`;
// Sideeffect
if (!ShaderStore.IncludesShadersStoreWGSL[name$1]) {
ShaderStore.IncludesShadersStoreWGSL[name$1] = shader$1;
}
/** @internal */
const shadowMapFragmentWGSL = { name: name$1, shader: shader$1 };
// Do not edit.
const name = "shadowMapPixelShader";
const shader = `
varying vUV: vec2f;var diffuseSamplerSampler: sampler;var diffuseSampler: texture_2d<f32>;
@fragment
fn main(input: FragmentInputs)->FragmentOutputs {
var opacityMap: vec4f=textureSample(diffuseSampler,diffuseSamplerSampler,fragmentInputs.vUV);var alphaFromAlphaTexture: f32=opacityMap.a;
if (uniforms.softTransparentShadowSM.y==1.0) {opacityMap=vec4f(opacityMap.rgb* vec3f(0.3,0.59,0.11),opacityMap.a);alphaFromAlphaTexture=opacityMap.x+opacityMap.y+opacityMap.z;}
if (alphaFromAlphaTexture<ALPHATESTVALUE) {discard;}
if ((bayerDither8(floor(((fragmentInputs.position.xy)%(8.0)))))/64.0>=uniforms.softTransparentShadowSM.x*alphaFromAlphaTexture) {discard;}
if ((bayerDither8(floor(((fragmentInputs.position.xy)%(8.0)))))/64.0>=uniforms.softTransparentShadowSM.x) {discard;}
}`;
// Sideeffect
if (!ShaderStore.ShadersStoreWGSL[name]) {
ShaderStore.ShadersStoreWGSL[name] = shader;
}
const includes = [packingFunctionsWGSL, bayerDitherFunctionsWGSL, shadowMapFragmentExtraDeclarationWGSL, clipPlaneFragmentDeclarationWGSL, clipPlaneFragmentWGSL, shadowMapFragmentWGSL];
for (const inc of includes) {
if (!ShaderStore.IncludesShadersStoreWGSL[inc.name]) {
ShaderStore.IncludesShadersStoreWGSL[inc.name] = inc.shader;
}
}
/** @internal */
const shadowMapPixelShaderWGSL = { name, shader };
export { shadowMapPixelShaderWGSL };
//# sourceMappingURL=shadowMap.fragment-Bf3nshN6.esm.js.map