1234567891011121314151617181920212223242526 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.25/esri/copyright.txt for details.
- */
- import{a as e}from"./vec2f64.js";import{Float2DrawUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js";import{NoParameters as o,glsl as t}from"../views/3d/webgl-engine/core/shaderModules/interfaces.js";import{ShaderBuilder as i}from"../views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js";import{Texture2DDrawUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{VertexAttribute as n}from"../views/3d/webgl-engine/lib/VertexAttribute.js";class a extends o{constructor(){super(...arguments),this.blurSize=e()}}function d(){const e=new i,{vertex:o,fragment:a}=e,d=o.code,l=a.code;return e.attributes.add(n.POSITION,"vec2"),e.attributes.add(n.UV0,"vec2"),e.varyings.add("blurCoordinate","vec3"),o.uniforms.add(new s("coverageTex",(e=>e.coverageTexture))),a.uniforms.add(new r("blurSize",(e=>e.blurSize))),d.add(t`void main() {
- gl_Position = vec4(position, 0.0, 1.0);
- vec4 cov = texture2D(coverageTex, uv0);
- if (cov.r == 0.0) {
- gl_Position = vec4(0.0);
- }
- blurCoordinate = vec3(gl_Position.xy * 0.5 + vec2(0.5), max(cov.g, cov.b));
- }`),a.uniforms.add(new u("tex",(e=>e.blurInputTexture))),l.add(t`void main() {
- vec2 uv = blurCoordinate.xy;
- vec4 center = texture2D(tex, uv);
- if (blurCoordinate.z == 1.0) {
- gl_FragColor = center;
- } else {
- vec4 sum = vec4(0.0);
- sum += center * 0.204164;
- sum += texture2D(tex, uv + blurSize * 1.407333) * 0.304005;
- sum += texture2D(tex, uv - blurSize * 1.407333) * 0.304005;
- sum += texture2D(tex, uv + blurSize * 3.294215) * 0.093913;
- sum += texture2D(tex, uv - blurSize * 3.294215) * 0.093913;
- gl_FragColor = sum;
- }
- }`),e}const l=Object.freeze(Object.defineProperty({__proto__:null,HighlightBlurDrawParameters:a,build:d},Symbol.toStringTag,{value:"Module"}));export{a as H,l as a,d as b};
|