You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
2.1 KiB
25 lines
2.1 KiB
// All material copyright Esri, All Rights Reserved, unless otherwise specified. |
|
// See https://js.arcgis.com/4.30/esri/copyright.txt for details. |
|
//>>built |
|
define("exports ../core/libs/gl-matrix-2/factories/vec2f64 ../views/3d/webgl-engine/core/shaderModules/Float2DrawUniform ../views/3d/webgl-engine/core/shaderModules/Float2PassUniform ../views/3d/webgl-engine/core/shaderModules/interfaces ../views/3d/webgl-engine/core/shaderModules/ShaderBuilder ../views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform ../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform ../views/3d/webgl-engine/lib/VertexAttribute".split(" "),function(b,m,n,p,c, |
|
q,r,t,d){function e(){const f=new q.ShaderBuilder,{attributes:g,varyings:u,vertex:h,fragment:k}=f;g.add(d.VertexAttribute.POSITION,"vec2");g.add(d.VertexAttribute.UV0,"vec2");u.add("blurCoordinate","vec3");h.uniforms.add(new t.Texture2DPassUniform("coverageTex",a=>a.coverageTexture),new p.Float2PassUniform("coverageRounding",a=>a.coverageRounding));h.code.add(c.glsl`void main() { |
|
gl_Position = vec4(position, 0.0, 1.0); |
|
vec4 cov = texture(coverageTex, uv0 * coverageRounding); |
|
if (cov.r == 0.0) { |
|
gl_Position = vec4(0.0); |
|
} |
|
blurCoordinate = vec3(gl_Position.xy * 0.5 + vec2(0.5), cov.g); |
|
}`);k.uniforms.add(new n.Float2DrawUniform("blurSize",a=>a.blurSize),new r.Texture2DDrawUniform("tex",a=>a.blurInputTexture));k.code.add(c.glsl`void main() { |
|
vec2 uv = blurCoordinate.xy; |
|
vec4 center = texture(tex, uv); |
|
if (blurCoordinate.z == 1.0) { |
|
fragColor = center; |
|
} else { |
|
vec4 sum = center * 0.204164; |
|
sum += texture(tex, uv + blurSize * 1.407333) * 0.304005; |
|
sum += texture(tex, uv - blurSize * 1.407333) * 0.304005; |
|
sum += texture(tex, uv + blurSize * 3.294215) * 0.093913; |
|
sum += texture(tex, uv - blurSize * 3.294215) * 0.093913; |
|
fragColor = sum; |
|
} |
|
}`);return f}class l extends c.NoParameters{constructor(){super(...arguments);this.blurSize=m.create()}}const v=Object.freeze(Object.defineProperty({__proto__:null,HighlightBlurDrawParameters:l,build:e},Symbol.toStringTag,{value:"Module"}));b.HighlightBlur=v;b.HighlightBlurDrawParameters=l;b.build=e}); |