playcanvas
Version:
PlayCanvas WebGL game engine
4 lines (2 loc) • 992 B
JavaScript
var dilatePS = "\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nbool isUsed(vec4 pixel) {\n #if HDR\n return any(greaterThan(pixel.rgb, vec3(0.0)));\n #else\n return pixel.a > 0.0;\n #endif\n}\nvoid main(void) {\n vec4 c = texture2DLod(source, vUv0, 0.0);\n c = isUsed(c) ? c : texture2DLod(source, vUv0 - pixelOffset, 0.0);\n c = isUsed(c) ? c : texture2DLod(source, vUv0 + vec2(0, -pixelOffset.y), 0.0);\n c = isUsed(c) ? c : texture2DLod(source, vUv0 + vec2(pixelOffset.x, -pixelOffset.y), 0.0);\n c = isUsed(c) ? c : texture2DLod(source, vUv0 + vec2(-pixelOffset.x, 0), 0.0);\n c = isUsed(c) ? c : texture2DLod(source, vUv0 + vec2(pixelOffset.x, 0), 0.0);\n c = isUsed(c) ? c : texture2DLod(source, vUv0 + vec2(-pixelOffset.x, pixelOffset.y), 0.0);\n c = isUsed(c) ? c : texture2DLod(source, vUv0 + vec2(0, pixelOffset.y), 0.0);\n c = isUsed(c) ? c : texture2DLod(source, vUv0 + pixelOffset, 0.0);\n gl_FragColor = c;\n}\n";
export { dilatePS as default };