chunk-Q7HVKAHU.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. import {
  2. c
  3. } from "./chunk-QXZVBSBH.js";
  4. import {
  5. a,
  6. a2,
  7. a3,
  8. a4,
  9. c as c2,
  10. c2 as c3,
  11. c3 as c4,
  12. c4 as c5,
  13. d,
  14. d2,
  15. d4 as d3,
  16. e2 as e,
  17. e3 as e2,
  18. e4 as e3,
  19. e5 as e4,
  20. e6 as e5,
  21. f2 as f,
  22. h3 as h,
  23. i,
  24. i3 as i2,
  25. i4 as i3,
  26. i5 as i4,
  27. l,
  28. m,
  29. m2,
  30. m3,
  31. m4,
  32. n as n2,
  33. n2 as n3,
  34. n3 as n4,
  35. n4 as n5,
  36. o as o2,
  37. o2 as o3,
  38. o3 as o4,
  39. o4 as o5,
  40. o6,
  41. r3 as r2,
  42. s,
  43. s2,
  44. t,
  45. t2,
  46. u
  47. } from "./chunk-OBMTYN3I.js";
  48. import {
  49. O as O2
  50. } from "./chunk-EPIK5VPD.js";
  51. import {
  52. O
  53. } from "./chunk-XXBIV3TZ.js";
  54. import {
  55. o
  56. } from "./chunk-E3HOL2XO.js";
  57. import {
  58. n
  59. } from "./chunk-H2KDMZTR.js";
  60. import {
  61. r
  62. } from "./chunk-GZT4BVFP.js";
  63. // node_modules/@arcgis/core/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js
  64. function e6(e7, o7) {
  65. const n6 = e7.fragment;
  66. switch (n6.code.add(n2`struct ShadingNormalParameters {
  67. vec3 normalView;
  68. vec3 viewDirection;
  69. } shadingParams;`), o7.doubleSidedMode) {
  70. case i5.None:
  71. n6.code.add(n2`vec3 shadingNormal(ShadingNormalParameters params) {
  72. return normalize(params.normalView);
  73. }`);
  74. break;
  75. case i5.View:
  76. n6.code.add(n2`vec3 shadingNormal(ShadingNormalParameters params) {
  77. return dot(params.normalView, params.viewDirection) > 0.0 ? normalize(-params.normalView) : normalize(params.normalView);
  78. }`);
  79. break;
  80. case i5.WindingOrder:
  81. n6.code.add(n2`vec3 shadingNormal(ShadingNormalParameters params) {
  82. return gl_FrontFacing ? normalize(params.normalView) : normalize(-params.normalView);
  83. }`);
  84. break;
  85. default:
  86. n(o7.doubleSidedMode);
  87. case i5.COUNT:
  88. }
  89. }
  90. var i5;
  91. !function(a5) {
  92. a5[a5.None = 0] = "None", a5[a5.View = 1] = "View", a5[a5.WindingOrder = 2] = "WindingOrder", a5[a5.COUNT = 3] = "COUNT";
  93. }(i5 || (i5 = {}));
  94. // node_modules/@arcgis/core/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js
  95. function m5(m6, c6) {
  96. const i6 = m6.fragment;
  97. if (c6.hasVertexTangents ? (m6.attributes.add(O.TANGENT, "vec4"), m6.varyings.add("vTangent", "vec4"), c6.doubleSidedMode === i5.WindingOrder ? i6.code.add(n2`mat3 computeTangentSpace(vec3 normal) {
  98. float tangentHeadedness = gl_FrontFacing ? vTangent.w : -vTangent.w;
  99. vec3 tangent = normalize(gl_FrontFacing ? vTangent.xyz : -vTangent.xyz);
  100. vec3 bitangent = cross(normal, tangent) * tangentHeadedness;
  101. return mat3(tangent, bitangent, normal);
  102. }`) : i6.code.add(n2`mat3 computeTangentSpace(vec3 normal) {
  103. float tangentHeadedness = vTangent.w;
  104. vec3 tangent = normalize(vTangent.xyz);
  105. vec3 bitangent = cross(normal, tangent) * tangentHeadedness;
  106. return mat3(tangent, bitangent, normal);
  107. }`)) : (m6.extensions.add("GL_OES_standard_derivatives"), i6.code.add(n2`mat3 computeTangentSpace(vec3 normal, vec3 pos, vec2 st) {
  108. vec3 Q1 = dFdx(pos);
  109. vec3 Q2 = dFdy(pos);
  110. vec2 stx = dFdx(st);
  111. vec2 sty = dFdy(st);
  112. float det = stx.t * sty.s - sty.t * stx.s;
  113. vec3 T = stx.t * Q2 - sty.t * Q1;
  114. T = T - normal * dot(normal, T);
  115. T *= inversesqrt(max(dot(T,T), 1.e-10));
  116. vec3 B = sign(det) * cross(normal, T);
  117. return mat3(T, B, normal);
  118. }`)), c6.textureCoordinateType !== o4.None) {
  119. m6.include(a, c6);
  120. const e7 = c6.supportsTextureAtlas;
  121. i6.uniforms.add(c6.pbrTextureBindType === a2.Pass ? m2("normalTexture", (e8) => e8.textureNormal, e7) : m("normalTexture", (e8) => e8.textureNormal, e7)), i6.code.add(n2`
  122. vec3 computeTextureNormal(mat3 tangentSpace, vec2 uv) {
  123. vtc.uv = uv;
  124. ${c6.supportsTextureAtlas ? "vtc.size = normalTextureSize;" : ""}
  125. vec3 rawNormal = textureLookup(normalTexture, vtc).rgb * 2.0 - 1.0;
  126. return tangentSpace * rawNormal;
  127. }
  128. `);
  129. }
  130. }
  131. // node_modules/@arcgis/core/views/3d/webgl-engine/core/shaderLibrary/util/HeaderComment.glsl.js
  132. function r3(r4, u2) {
  133. const p = n2`
  134. /*
  135. * ${u2.name}
  136. * ${u2.output === o2.Color ? "RenderOutput: Color" : u2.output === o2.Depth ? "RenderOutput: Depth" : u2.output === o2.Shadow ? "RenderOutput: Shadow" : u2.output === o2.Normal ? "RenderOutput: Normal" : u2.output === o2.Highlight ? "RenderOutput: Highlight" : ""}
  137. */
  138. `;
  139. c() && (r4.fragment.code.add(p), r4.vertex.code.add(p));
  140. }
  141. // node_modules/@arcgis/core/chunks/DefaultMaterial.glsl.js
  142. function k(k2) {
  143. const W2 = new i4(), H = W2.vertex.code, q = W2.fragment.code;
  144. W2.include(r3, { name: "Default Material Shader", output: k2.output });
  145. const J = d3(W2, k2);
  146. return W2.include(o5), W2.varyings.add("vpos", "vec3"), W2.include(s, k2), W2.include(m3, k2), W2.include(a3, k2), k2.output !== o2.Color && k2.output !== o2.Alpha || (c3(W2.vertex, k2), W2.include(o3, k2), W2.include(r2, { linearDepth: false, hasModelTransformation: k2.hasModelTransformation }), k2.normalType === i.Attribute && k2.offsetBackfaces && W2.include(e3), W2.include(m5, k2), W2.include(n3, k2), k2.instancedColor && W2.attributes.add(O.INSTANCECOLOR, "vec4"), W2.varyings.add("localvpos", "vec3"), W2.include(d, k2), W2.include(t2, k2), W2.include(i2, k2), W2.include(e4, k2), W2.vertex.uniforms.add(new e5("externalColor", (e7) => e7.externalColor)), W2.varyings.add("vcolorExt", "vec4"), k2.hasMultipassTerrain && W2.varyings.add("depth", "float"), k2.hasModelTransformation && W2.vertex.uniforms.add(new e2("model", (o7) => r(o7.modelTransformation) ? o7.modelTransformation : o)), H.add(n2`
  147. void main(void) {
  148. forwardNormalizedVertexColor();
  149. vcolorExt = externalColor;
  150. ${k2.instancedColor ? "vcolorExt *= instanceColor;" : ""}
  151. vcolorExt *= vvColor();
  152. vcolorExt *= getSymbolColor();
  153. forwardColorMixMode();
  154. if (vcolorExt.a < ${n2.float(t)}) {
  155. gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
  156. } else {
  157. vpos = calculateVPos();
  158. localvpos = vpos - view[3].xyz;
  159. vpos = subtractOrigin(vpos);
  160. ${k2.normalType === i.Attribute ? n2`vNormalWorld = dpNormal(vvLocalNormal(normalModel()));` : ""}
  161. vpos = addVerticalOffset(vpos, localOrigin);
  162. ${k2.hasVertexTangents ? "vTangent = dpTransformVertexTangent(tangent);" : ""}
  163. gl_Position = transformPosition(proj, view, ${k2.hasModelTransformation ? "model," : ""} vpos);
  164. ${k2.normalType === i.Attribute && k2.offsetBackfaces ? "gl_Position = offsetBackfacingClipPosition(gl_Position, vpos, vNormalWorld, cameraPosition);" : ""}
  165. }
  166. ${k2.hasMultipassTerrain ? "depth = (view * vec4(vpos, 1.0)).z;" : ""}
  167. forwardLinearDepth();
  168. forwardTextureCoordinates();
  169. }
  170. `)), k2.output === o2.Alpha && (W2.include(u, k2), W2.include(s2, k2), W2.include(n5, k2), W2.fragment.uniforms.add([new o6("opacity", (e7) => e7.opacity), new o6("layerOpacity", (e7) => e7.layerOpacity)]), k2.hasColorTexture && W2.fragment.uniforms.add(new c2("tex", (e7) => e7.texture)), W2.fragment.include(i3), q.add(n2`
  171. void main() {
  172. discardBySlice(vpos);
  173. ${k2.hasMultipassTerrain ? "terrainDepthTest(gl_FragCoord, depth);" : ""}
  174. ${k2.hasColorTexture ? n2`
  175. vec4 texColor = texture2D(tex, vuv0);
  176. ${k2.textureAlphaPremultiplied ? "texColor.rgb /= texColor.a;" : ""}
  177. discardOrAdjustAlpha(texColor);` : n2`vec4 texColor = vec4(1.0);`}
  178. ${k2.hasVertexColors ? n2`float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));` : n2`float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));`}
  179. gl_FragColor = vec4(opacity_);
  180. }
  181. `)), k2.output === o2.Color && (W2.include(u, k2), W2.include(m4, k2), W2.include(a4, k2), W2.include(s2, k2), W2.include(k2.instancedDoublePrecision ? h : c5, k2), W2.include(n5, k2), c3(W2.fragment, k2), W2.fragment.uniforms.add([J, new e("ambient", (e7) => e7.ambient), new e("diffuse", (e7) => e7.diffuse), new o6("opacity", (e7) => e7.opacity), new o6("layerOpacity", (e7) => e7.layerOpacity), new o6("lightingGlobalFactor", (e7, r4) => r4.lighting.globalFactor), new e("lightingMainIntensity", (e7, r4) => r4.lighting.mainLight.intensity)]), W2.fragment.constants.add("ambientBoostFactor", "float", c4), k2.hasColorTexture && W2.fragment.uniforms.add(new c2("tex", (e7) => e7.texture)), W2.include(d2, k2), W2.include(n4, k2), W2.fragment.include(i3), W2.include(e6, k2), q.add(n2`
  182. void main() {
  183. discardBySlice(vpos);
  184. ${k2.hasMultipassTerrain ? "terrainDepthTest(gl_FragCoord, depth);" : ""}
  185. ${k2.hasColorTexture ? n2`
  186. vec4 texColor = texture2D(tex, vuv0);
  187. ${k2.textureAlphaPremultiplied ? "texColor.rgb /= texColor.a;" : ""}
  188. discardOrAdjustAlpha(texColor);` : n2`vec4 texColor = vec4(1.0);`}
  189. shadingParams.viewDirection = normalize(vpos - cameraPosition);
  190. ${k2.normalType === i.ScreenDerivative ? n2`
  191. vec3 normal = screenDerivativeNormal(localvpos);` : n2`
  192. shadingParams.normalView = vNormalWorld;
  193. vec3 normal = shadingNormal(shadingParams);`}
  194. ${k2.pbrMode === l.Normal ? "applyPBRFactors();" : ""}
  195. float ssao = evaluateAmbientOcclusionInverse();
  196. ssao *= getBakedOcclusion();
  197. float additionalAmbientScale = additionalDirectedAmbientLight(vpos + localOrigin);
  198. ${k2.receiveShadows ? "float shadow = readShadowMap(vpos, linearDepth);" : k2.spherical ? "float shadow = lightingGlobalFactor * (1.0 - additionalAmbientScale);" : "float shadow = 0.0;"}
  199. vec3 matColor = max(ambient, diffuse);
  200. ${k2.hasVertexColors ? n2`
  201. vec3 albedo = mixExternalColor(vColor.rgb * matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
  202. float opacity_ = layerOpacity * mixExternalOpacity(vColor.a * opacity, texColor.a, vcolorExt.a, int(colorMixMode));` : n2`
  203. vec3 albedo = mixExternalColor(matColor, texColor.rgb, vcolorExt.rgb, int(colorMixMode));
  204. float opacity_ = layerOpacity * mixExternalOpacity(opacity, texColor.a, vcolorExt.a, int(colorMixMode));`}
  205. ${k2.hasNormalTexture ? n2`
  206. mat3 tangentSpace = ${k2.hasVertexTangents ? "computeTangentSpace(normal);" : "computeTangentSpace(normal, vpos, vuv0);"}
  207. vec3 shadingNormal = computeTextureNormal(tangentSpace, vuv0);` : n2`vec3 shadingNormal = normal;`}
  208. vec3 normalGround = ${k2.spherical ? n2`normalize(vpos + localOrigin);` : n2`vec3(0.0, 0.0, 1.0);`}
  209. ${k2.snowCover ? n2`
  210. float snow = smoothstep(0.5, 0.55, dot(normal, normalGround));
  211. albedo = mix(albedo, vec3(1), snow);
  212. shadingNormal = mix(shadingNormal, normal, snow);
  213. ssao = mix(ssao, 1.0, snow);` : ""}
  214. vec3 additionalLight = ssao * lightingMainIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
  215. ${k2.pbrMode === l.Normal || k2.pbrMode === l.Schematic ? n2`
  216. float additionalAmbientIrradiance = additionalAmbientIrradianceFactor * lightingMainIntensity[2];
  217. ${k2.snowCover ? n2`
  218. mrr = mix(mrr, vec3(0.0, 1.0, 0.04), snow);
  219. emission = mix(emission, vec3(0.0), snow);` : ""}
  220. vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, emission, additionalAmbientIrradiance);` : n2`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
  221. gl_FragColor = highlightSlice(vec4(shadedColor, opacity_), vpos);
  222. ${k2.transparencyPassType === O2.Color ? n2`gl_FragColor = premultiplyAlpha(gl_FragColor);` : ""}
  223. }
  224. `)), W2.include(f, k2), W2;
  225. }
  226. var W = Object.freeze(Object.defineProperty({ __proto__: null, build: k }, Symbol.toStringTag, { value: "Module" }));
  227. export {
  228. i5 as i,
  229. k,
  230. W
  231. };
  232. //# sourceMappingURL=chunk-Q7HVKAHU.js.map