@doegis/core
Version:
DOE GIS API
13 lines (10 loc) • 1.07 kB
JavaScript
import{textureSize as e}from"../util/WebGL2Utils.js";import{glsl as r}from"../../shaderModules/interfaces.js";import{createTexture2DPassSizeUniforms as s}from"../../shaderModules/Texture2DPassUniform.js";import{TextureSizeUniformType as o}from"../../shaderModules/TextureSizeUniformType.js";import{blurSizePixels as t}from"../../../lib/SSAOHelper.js";function n(n,a){const i=n.fragment;a.receiveAmbientOcclusion?(i.uniforms.add(s("ssaoTex",((e,r)=>r.ssaoHelper.colorTexture),a.hasWebGL2Context?o.None:o.InvSize)),i.constants.add("blurSizePixelsInverse","float",1/t),i.code.add(r`
float evaluateAmbientOcclusionInverse() {
vec2 ssaoTextureSizeInverse = ${e(a,"ssaoTex",!0)};
return texture2D(ssaoTex, gl_FragCoord.xy * blurSizePixelsInverse * ssaoTextureSizeInverse).a;
}
float evaluateAmbientOcclusion() {
return 1.0 - evaluateAmbientOcclusionInverse();
}
`)):i.code.add(r`float evaluateAmbientOcclusionInverse() { return 1.0; }
float evaluateAmbientOcclusion() { return 0.0; }`)}export{n as EvaluateAmbientOcclusion};