UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

13 lines (12 loc) 895 B
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.19/LICENSE.txt */ import{glsl as e}from"../../shaderModules/glsl.js";function t(t){t.code.add(e`vec3 evaluateDiffuseIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float NdotNG) { return ((1.0 - NdotNG) * ambientGround + (1.0 + NdotNG) * ambientSky) * 0.5; }`),t.code.add(e`float integratedRadiance(float cosTheta2, float roughness) { return (cosTheta2 - 1.0) / (cosTheta2 * (1.0 - roughness * roughness) - 1.0); }`),t.code.add(e`vec3 evaluateSpecularIlluminationHemisphere(vec3 ambientGround, vec3 ambientSky, float RdotNG, float roughness) { float cosTheta2 = 1.0 - RdotNG * RdotNG; float intRadTheta = integratedRadiance(cosTheta2, roughness); float ground = RdotNG < 0.0 ? 1.0 - intRadTheta : 1.0 + intRadTheta; float sky = 2.0 - ground; return (ground * ambientGround + sky * ambientSky) * 0.5; }`)}export{t as AnalyticalSkyModel};