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.

16 lines (13 loc) 1.13 kB
import { ShaderStore } from '@babylonjs/core/Engines/shaderStore.js'; // Do not edit. const name = "envShadowGroundPixelShader"; const shader = `var shadowTextureSampler: sampler;var shadowTexture : texture_2d<f32>;uniform shadowOpacity : f32;uniform renderTargetSize: vec2<f32>;@fragment fn main(input: FragmentInputs)->FragmentOutputs {let uvBasedOpacity=1.0-pow(clamp(length(input.vUV*vec2<f32>(2.0)-vec2<f32>(1.0)),0.0,1.0),2.0);let screenUv=fragmentInputs.position.xy/uniforms.renderTargetSize;let shadowValue=textureSampleLevel(shadowTexture,shadowTextureSampler,screenUv,0.0).rrr;let totalOpacity=uniforms.shadowOpacity*uvBasedOpacity;let finalShadowValue=mix(vec3<f32>(1.0),shadowValue,totalOpacity);let invertedShadowValue=vec3(1.0)-shadowValue;fragmentOutputs.color=vec4f(finalShadowValue,invertedShadowValue.r*totalOpacity);}`; // Sideeffect if (!ShaderStore.ShadersStoreWGSL[name]) { ShaderStore.ShadersStoreWGSL[name] = shader; } /** @internal */ const envShadowGroundPixelShaderWGSL = { name, shader }; export { envShadowGroundPixelShaderWGSL }; //# sourceMappingURL=envShadowGround.fragment-CB8lNguw.js.map