UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

50 lines (43 loc) 1.74 kB
import { NoBlending, ShaderMaterial, Vector2 } from "three"; import { ScreenSpaceQuadShader } from "../../../shaders/ScreenSpaceQuadShader.js"; export function makeBlurShader_9(){ return new ShaderMaterial({ uniforms: { tDiffuse: { type: 't', value: null }, resolution: { type: 'v2', value: new Vector2(1, 1) } }, blending: NoBlending, light: false, fog: false, depthTest: false, depthWrite: false, transparent: true, vertexColors: false, vertexShader: ScreenSpaceQuadShader.vertexShader(), fragmentShader: ` uniform sampler2D tDiffuse; uniform vec2 resolution; varying vec2 vUv; vec4 blur9(sampler2D image, vec2 uv, vec2 resolution, vec2 direction) { vec4 color = vec4(0.0); vec2 off1 = vec2(1.3846153846) * direction; vec2 off2 = vec2(3.2307692308) * direction; color += texture2D(image, uv) * 0.2270270270; color += texture2D(image, uv + (off1 / resolution)) * 0.3162162162; color += texture2D(image, uv - (off1 / resolution)) * 0.3162162162; color += texture2D(image, uv + (off2 / resolution)) * 0.0702702703; color += texture2D(image, uv - (off2 / resolution)) * 0.0702702703; return color; } void main(){ gl_FragColor = blur9(tDiffuse, vUv, resolution, vec2(1,0)); } ` }); }