UNPKG

@arcgis/core

Version:

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

13 lines (12 loc) 845 B
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.19/LICENSE.txt */ import{FloatBindUniform as o}from"../../core/shaderModules/FloatBindUniform.js";import{glsl as r}from"../../core/shaderModules/glsl.js";function e(e,n){n.snowCover&&(e.uniforms.add(new o("snowCover",o=>o.snowCover)).code.add(r`float getSnow(vec3 normal, vec3 groundNormal) { return smoothstep(0.5, 0.55, dot(normal, groundNormal)) * snowCover; } float getRealisticTreeSnow(vec3 faceNormal, vec3 shadingNormal, vec3 groundNormal) { float snow = min(1.0, smoothstep(0.5, 0.55, dot(faceNormal, groundNormal)) + smoothstep(0.5, 0.55, dot(-faceNormal, groundNormal)) + smoothstep(0.0, 0.1, dot(shadingNormal, groundNormal))); return snow * snowCover; }`),e.code.add(r`vec3 applySnowToMRR(vec3 mrr, float snow) { return mix(mrr, vec3(0.0, 1.0, 0.04), snow); }`))}export{e as SnowCover};