@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.
119 lines (113 loc) • 3.65 kB
JavaScript
import { S as ShaderStore } from './index-FzOfPXLV.esm.js';
import './packingFunctions-C2Dsz6z6.esm.js';
import './clipPlaneFragment-OFOZXtyS.esm.js';
// Do not edit.
const name$3 = "bayerDitherFunctions";
const shader$3 = `float bayerDither2(vec2 _P) {return mod(2.0*_P.y+_P.x+1.0,4.0);}
float bayerDither4(vec2 _P) {vec2 P1=mod(_P,2.0);
vec2 P2=floor(0.5*mod(_P,4.0));
return 4.0*bayerDither2(P1)+bayerDither2(P2);}
float bayerDither8(vec2 _P) {vec2 P1=mod(_P,2.0);
vec2 P2=floor(0.5 *mod(_P,4.0));
vec2 P4=floor(0.25*mod(_P,8.0));
return 4.0*(4.0*bayerDither2(P1)+bayerDither2(P2))+bayerDither2(P4);}
`;
// Sideeffect
if (!ShaderStore.IncludesShadersStore[name$3]) {
ShaderStore.IncludesShadersStore[name$3] = shader$3;
}
// Do not edit.
const name$2 = "shadowMapFragmentExtraDeclaration";
const shader$2 = `
uniform vec2 softTransparentShadowSM;
varying float vDepthMetricSM;
uniform vec3 lightDataSM;varying vec3 vPositionWSM;
uniform vec3 biasAndScaleSM;uniform vec2 depthValuesSM;
varying float zSM;
`;
// Sideeffect
if (!ShaderStore.IncludesShadersStore[name$2]) {
ShaderStore.IncludesShadersStore[name$2] = shader$2;
}
// Do not edit.
const name$1 = "shadowMapFragment";
const shader$1 = `float depthSM=vDepthMetricSM;
depthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;
depthSM=(-zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;
depthSM=(zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;
depthSM=clamp(depthSM,0.0,1.0);
gl_FragDepth=clamp(1.0-depthSM,0.0,1.0);
gl_FragDepth=clamp(depthSM,0.0,1.0);
depthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;
depthSM=clamp(exp(-min(87.,biasAndScaleSM.z*depthSM)),0.,1.);
gl_FragColor=vec4(depthSM,1.0,1.0,1.0);
gl_FragColor=pack(depthSM);
return;`;
// Sideeffect
if (!ShaderStore.IncludesShadersStore[name$1]) {
ShaderStore.IncludesShadersStore[name$1] = shader$1;
}
// Do not edit.
const name = "shadowMapPixelShader";
const shader = `
varying vec2 vUV;uniform sampler2D diffuseSampler;
void main(void)
{
vec4 opacityMap=texture2D(diffuseSampler,vUV);float alphaFromAlphaTexture=opacityMap.a;
if (softTransparentShadowSM.y==1.0) {opacityMap.rgb=opacityMap.rgb*vec3(0.3,0.59,0.11);alphaFromAlphaTexture=opacityMap.x+opacityMap.y+opacityMap.z;}
if (alphaFromAlphaTexture<ALPHATESTVALUE)
discard;
if ((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM.x*alphaFromAlphaTexture) discard;
if ((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM.x) discard;
}`;
// Sideeffect
if (!ShaderStore.ShadersStore[name]) {
ShaderStore.ShadersStore[name] = shader;
}
/** @internal */
const shadowMapPixelShader = { name, shader };
export { shadowMapPixelShader };
//# sourceMappingURL=shadowMap.fragment-DK7ngjsF.esm.js.map