@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
13 lines (12 loc) • 982 B
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{glsl as e}from"../../shaderModules/glsl.js";import{Texture2DBindUniform as s}from"../../shaderModules/Texture2DBindUniform.js";import{blurSizePixels as r}from"../../../effects/ssao/SSAO.js";function t(t,o){const n=t.fragment;o.receiveAmbientOcclusion?(n.uniforms.add(new s("ssaoTex",(e=>e.ssao?.getTexture()))),n.constants.add("blurSizePixelsInverse","float",1/r),n.code.add(e`float evaluateAmbientOcclusionInverse() {
vec2 ssaoTextureSizeInverse = 1.0 / vec2(textureSize(ssaoTex, 0));
return texture(ssaoTex, gl_FragCoord.xy * blurSizePixelsInverse * ssaoTextureSizeInverse).r;
}
float evaluateAmbientOcclusion() {
return 1.0 - evaluateAmbientOcclusionInverse();
}`)):n.code.add(e`float evaluateAmbientOcclusionInverse() { return 1.0; }
float evaluateAmbientOcclusion() { return 0.0; }`)}export{t as EvaluateAmbientOcclusion};