@doegis/core
Version:
DOE GIS API
15 lines (12 loc) • 1.02 kB
JavaScript
import{f as e}from"../../../../../../chunks/vec4f64.js";import{texelFetch as o}from"../util/WebGL2Utils.js";import{glsl as r}from"../../shaderModules/interfaces.js";import{createTexture2DPassSizeUniforms as t}from"../../shaderModules/Texture2DPassUniform.js";import{TextureSizeUniformType as d}from"../../shaderModules/TextureSizeUniformType.js";const g=e(1,1,0,1),i=e(1,0,1,1);function a(e,a){e.fragment.uniforms.add(t("depthTex",((e,o)=>o.highlightDepthTexture),a.hasWebGL2Context?d.None:d.InvSize)),e.fragment.constants.add("occludedHighlightFlag","vec4",g).add("unoccludedHighlightFlag","vec4",i),e.fragment.code.add(r`
void outputHighlight() {
vec3 fragCoord = gl_FragCoord.xyz;
float sceneDepth = ${o(a,"depthTex","fragCoord.xy")}.x;
if (fragCoord.z > sceneDepth + 5e-7) {
gl_FragColor = occludedHighlightFlag;
}
else {
gl_FragColor = unoccludedHighlightFlag;
}
}
`)}export{a as OutputHighlight,g as occludedHighlightFlag,i as unoccludedHighlightFlag};