UNPKG

@babylonjs/core

Version:

Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.

56 lines 2.22 kB
// Do not edit. import { ShaderStore } from "../Engines/shaderStore.js"; import { kernelBlurVaryingDeclarationWGSL } from "./ShadersInclude/kernelBlurVaryingDeclaration.js"; import { packingFunctionsWGSL } from "./ShadersInclude/packingFunctions.js"; import { kernelBlurFragmentWGSL } from "./ShadersInclude/kernelBlurFragment.js"; import { kernelBlurFragment2WGSL } from "./ShadersInclude/kernelBlurFragment2.js"; const name = "kernelBlurPixelShader"; const shader = `var textureSamplerSampler: sampler;var textureSampler: texture_2d<f32>;uniform delta: vec2f;varying sampleCenter: vec2f; #ifdef DOF var circleOfConfusionSamplerSampler: sampler;var circleOfConfusionSampler: texture_2d<f32>;fn sampleCoC(offset: vec2f)->f32 {var coc: f32=textureSample(circleOfConfusionSampler,circleOfConfusionSamplerSampler,offset).r;return coc; } #endif #include<kernelBlurVaryingDeclaration>[0..varyingCount] #ifdef PACKEDFLOAT #include<packingFunctions> #endif #define CUSTOM_FRAGMENT_DEFINITIONS @fragment fn main(input: FragmentInputs)->FragmentOutputs {var computedWeight: f32=0.0; #ifdef PACKEDFLOAT var blend: f32=0.; #else var blend: vec4f= vec4f(0.); #endif #ifdef DOF var sumOfWeights: f32=CENTER_WEIGHT; var factor: f32=0.0; #ifdef PACKEDFLOAT blend+=unpack(textureSample(textureSampler,textureSamplerSampler,input.sampleCenter))*CENTER_WEIGHT; #else blend+=textureSample(textureSampler,textureSamplerSampler,input.sampleCenter)*CENTER_WEIGHT; #endif #endif #include<kernelBlurFragment>[0..varyingCount] #include<kernelBlurFragment2>[0..depCount] #ifdef PACKEDFLOAT fragmentOutputs.color=pack(blend); #else fragmentOutputs.color=blend; #endif #ifdef DOF fragmentOutputs.color/=sumOfWeights; #endif }`; // Sideeffect if (!ShaderStore.ShadersStoreWGSL[name]) { ShaderStore.ShadersStoreWGSL[name] = shader; } const includes = [kernelBlurVaryingDeclarationWGSL, packingFunctionsWGSL, kernelBlurFragmentWGSL, kernelBlurFragment2WGSL]; for (const inc of includes) { if (!ShaderStore.IncludesShadersStoreWGSL[inc.name]) { ShaderStore.IncludesShadersStoreWGSL[inc.name] = inc.shader; } } /** @internal */ export const kernelBlurPixelShaderWGSL = { name, shader }; //# sourceMappingURL=kernelBlur.fragment.js.map