chunk-JBMHQ5RK.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  1. import {
  2. c as c2
  3. } from "./chunk-H2VOWDMO.js";
  4. import {
  5. H,
  6. t as t2
  7. } from "./chunk-3OFVLRSL.js";
  8. import {
  9. r as r2
  10. } from "./chunk-RWQH5X3O.js";
  11. import {
  12. c
  13. } from "./chunk-2TIUKVZN.js";
  14. import {
  15. r,
  16. t
  17. } from "./chunk-YXWMMD76.js";
  18. // node_modules/@arcgis/core/views/webgl/reservedWordsGLSL3.js
  19. var e = ["layout", "centroid", "smooth", "case", "mat2x2", "mat2x3", "mat2x4", "mat3x2", "mat3x3", "mat3x4", "mat4x2", "mat4x3", "mat4x4", "uint", "uvec2", "uvec3", "uvec4", "samplerCubeShadow", "sampler2DArray", "sampler2DArrayShadow", "isampler2D", "isampler3D", "isamplerCube", "isampler2DArray", "usampler2D", "usampler3D", "usamplerCube", "usampler2DArray", "coherent", "restrict", "readonly", "writeonly", "resource", "atomic_uint", "noperspective", "patch", "sample", "subroutine", "common", "partition", "active", "filter", "image1D", "image2D", "image3D", "imageCube", "iimage1D", "iimage2D", "iimage3D", "iimageCube", "uimage1D", "uimage2D", "uimage3D", "uimageCube", "image1DArray", "image2DArray", "iimage1DArray", "iimage2DArray", "uimage1DArray", "uimage2DArray", "image1DShadow", "image2DShadow", "image1DArrayShadow", "image2DArrayShadow", "imageBuffer", "iimageBuffer", "uimageBuffer", "sampler1DArray", "sampler1DArrayShadow", "isampler1D", "isampler1DArray", "usampler1D", "usampler1DArray", "isampler2DRect", "usampler2DRect", "samplerBuffer", "isamplerBuffer", "usamplerBuffer", "sampler2DMS", "isampler2DMS", "usampler2DMS", "sampler2DMSArray", "isampler2DMSArray", "usampler2DMSArray", "trunc", "round", "roundEven", "isnan", "isinf", "floatBitsToInt", "floatBitsToUint", "intBitsToFloat", "uintBitsToFloat", "packSnorm2x16", "unpackSnorm2x16", "packUnorm2x16", "unpackUnorm2x16", "packHalf2x16", "unpackHalf2x16", "outerProduct", "transpose", "determinant", "inverse", "texture", "textureSize", "textureProj", "textureLod", "textureOffset", "texelFetch", "texelFetchOffset", "textureProjOffset", "textureLodOffset", "textureProjLod", "textureProjLodOffset", "textureGrad", "textureGradOffset", "textureProjGrad", "textureProjGradOffset"];
  20. // node_modules/@arcgis/core/views/webgl/testUtils.js
  21. var e2 = { enableCache: false };
  22. // node_modules/@arcgis/core/chunks/builtins.js
  23. var e3;
  24. var r3 = { exports: {} };
  25. void 0 !== (e3 = ["precision", "highp", "mediump", "lowp", "attribute", "const", "uniform", "varying", "break", "continue", "do", "for", "while", "if", "else", "in", "out", "inout", "float", "int", "void", "bool", "true", "false", "discard", "return", "mat2", "mat3", "mat4", "vec2", "vec3", "vec4", "ivec2", "ivec3", "ivec4", "bvec2", "bvec3", "bvec4", "sampler1D", "sampler2D", "sampler3D", "samplerCube", "sampler1DShadow", "sampler2DShadow", "struct", "asm", "class", "union", "enum", "typedef", "template", "this", "packed", "goto", "switch", "default", "inline", "noinline", "volatile", "public", "static", "extern", "external", "interface", "long", "short", "double", "half", "fixed", "unsigned", "input", "output", "hvec2", "hvec3", "hvec4", "dvec2", "dvec3", "dvec4", "fvec2", "fvec3", "fvec4", "sampler2DRect", "sampler3DRect", "sampler2DRectShadow", "sizeof", "cast", "namespace", "using"]) && (r3.exports = e3);
  26. var t3 = r3.exports;
  27. var o;
  28. var l = { exports: {} };
  29. o = l, function(e6) {
  30. var r4 = ["<<=", ">>=", "++", "--", "<<", ">>", "<=", ">=", "==", "!=", "&&", "||", "+=", "-=", "*=", "/=", "%=", "&=", "^^", "^=", "|=", "(", ")", "[", "]", ".", "!", "~", "*", "/", "%", "+", "-", "<", ">", "&", "^", "|", "?", ":", "=", ",", ";", "{", "}"];
  31. void 0 !== r4 && (o.exports = r4);
  32. }();
  33. var a = l.exports;
  34. var g = { exports: {} };
  35. !function(e6) {
  36. !function(r4) {
  37. var t4 = function() {
  38. return ["abs", "acos", "all", "any", "asin", "atan", "ceil", "clamp", "cos", "cross", "dFdx", "dFdy", "degrees", "distance", "dot", "equal", "exp", "exp2", "faceforward", "floor", "fract", "gl_BackColor", "gl_BackLightModelProduct", "gl_BackLightProduct", "gl_BackMaterial", "gl_BackSecondaryColor", "gl_ClipPlane", "gl_ClipVertex", "gl_Color", "gl_DepthRange", "gl_DepthRangeParameters", "gl_EyePlaneQ", "gl_EyePlaneR", "gl_EyePlaneS", "gl_EyePlaneT", "gl_Fog", "gl_FogCoord", "gl_FogFragCoord", "gl_FogParameters", "gl_FragColor", "gl_FragCoord", "gl_FragData", "gl_FragDepth", "gl_FragDepthEXT", "gl_FrontColor", "gl_FrontFacing", "gl_FrontLightModelProduct", "gl_FrontLightProduct", "gl_FrontMaterial", "gl_FrontSecondaryColor", "gl_LightModel", "gl_LightModelParameters", "gl_LightModelProducts", "gl_LightProducts", "gl_LightSource", "gl_LightSourceParameters", "gl_MaterialParameters", "gl_MaxClipPlanes", "gl_MaxCombinedTextureImageUnits", "gl_MaxDrawBuffers", "gl_MaxFragmentUniformComponents", "gl_MaxLights", "gl_MaxTextureCoords", "gl_MaxTextureImageUnits", "gl_MaxTextureUnits", "gl_MaxVaryingFloats", "gl_MaxVertexAttribs", "gl_MaxVertexTextureImageUnits", "gl_MaxVertexUniformComponents", "gl_ModelViewMatrix", "gl_ModelViewMatrixInverse", "gl_ModelViewMatrixInverseTranspose", "gl_ModelViewMatrixTranspose", "gl_ModelViewProjectionMatrix", "gl_ModelViewProjectionMatrixInverse", "gl_ModelViewProjectionMatrixInverseTranspose", "gl_ModelViewProjectionMatrixTranspose", "gl_MultiTexCoord0", "gl_MultiTexCoord1", "gl_MultiTexCoord2", "gl_MultiTexCoord3", "gl_MultiTexCoord4", "gl_MultiTexCoord5", "gl_MultiTexCoord6", "gl_MultiTexCoord7", "gl_Normal", "gl_NormalMatrix", "gl_NormalScale", "gl_ObjectPlaneQ", "gl_ObjectPlaneR", "gl_ObjectPlaneS", "gl_ObjectPlaneT", "gl_Point", "gl_PointCoord", "gl_PointParameters", "gl_PointSize", "gl_Position", "gl_ProjectionMatrix", "gl_ProjectionMatrixInverse", "gl_ProjectionMatrixInverseTranspose", "gl_ProjectionMatrixTranspose", "gl_SecondaryColor", "gl_TexCoord", "gl_TextureEnvColor", "gl_TextureMatrix", "gl_TextureMatrixInverse", "gl_TextureMatrixInverseTranspose", "gl_TextureMatrixTranspose", "gl_Vertex", "greaterThan", "greaterThanEqual", "inversesqrt", "length", "lessThan", "lessThanEqual", "log", "log2", "matrixCompMult", "max", "min", "mix", "mod", "normalize", "not", "notEqual", "pow", "radians", "reflect", "refract", "sign", "sin", "smoothstep", "sqrt", "step", "tan", "texture2D", "texture2DLod", "texture2DProj", "texture2DProjLod", "textureCube", "textureCubeLod", "texture2DLodEXT", "texture2DProjLodEXT", "textureCubeLodEXT", "texture2DGradEXT", "texture2DProjGradEXT", "textureCubeGradEXT", "textureSize", "texelFetch"];
  39. }();
  40. void 0 !== t4 && (e6.exports = t4);
  41. }();
  42. }(g);
  43. var i = g.exports;
  44. // node_modules/@arcgis/core/views/webgl/ShaderTranspiler.js
  45. var s = 999;
  46. var c3 = 9999;
  47. var p = 0;
  48. var u = 1;
  49. var d = 2;
  50. var f = 3;
  51. var l2 = 4;
  52. var h = 5;
  53. var y = 6;
  54. var w = 7;
  55. var g2 = 8;
  56. var m = 9;
  57. var b = 10;
  58. var k = 11;
  59. var E = ["block-comment", "line-comment", "preprocessor", "operator", "integer", "float", "ident", "builtin", "keyword", "whitespace", "eof", "integer"];
  60. function _() {
  61. var t4, e6, a3, r4 = 0, _3 = 0, v2 = s, j2 = [], x2 = [], D2 = 1, R2 = 0, T2 = 0, A2 = false, G2 = false, S2 = "";
  62. return function(t5) {
  63. return x2 = [], null !== t5 ? F2(t5.replace ? t5.replace(/\r\n/g, "\n") : t5) : L2();
  64. };
  65. function X2(t5) {
  66. t5.length && x2.push({ type: E[v2], data: t5, position: T2, line: D2, column: R2 });
  67. }
  68. function F2(e7) {
  69. var n;
  70. for (r4 = 0, a3 = (S2 += e7).length; t4 = S2[r4], r4 < a3; ) {
  71. switch (n = r4, v2) {
  72. case p:
  73. r4 = V();
  74. break;
  75. case u:
  76. r4 = P();
  77. break;
  78. case d:
  79. r4 = M2();
  80. break;
  81. case f:
  82. r4 = O();
  83. break;
  84. case l2:
  85. r4 = z();
  86. break;
  87. case k:
  88. r4 = $();
  89. break;
  90. case h:
  91. r4 = I();
  92. break;
  93. case c3:
  94. r4 = U();
  95. break;
  96. case m:
  97. r4 = H3();
  98. break;
  99. case s:
  100. r4 = C2();
  101. }
  102. if (n !== r4)
  103. if ("\n" === S2[n])
  104. R2 = 0, ++D2;
  105. else
  106. ++R2;
  107. }
  108. return _3 += r4, S2 = S2.slice(r4), x2;
  109. }
  110. function L2(t5) {
  111. return j2.length && X2(j2.join("")), v2 = b, X2("(eof)"), x2;
  112. }
  113. function C2() {
  114. return j2 = j2.length ? [] : j2, "/" === e6 && "*" === t4 ? (T2 = _3 + r4 - 1, v2 = p, e6 = t4, r4 + 1) : "/" === e6 && "/" === t4 ? (T2 = _3 + r4 - 1, v2 = u, e6 = t4, r4 + 1) : "#" === t4 ? (v2 = d, T2 = _3 + r4, r4) : /\s/.test(t4) ? (v2 = m, T2 = _3 + r4, r4) : (A2 = /\d/.test(t4), G2 = /[^\w_]/.test(t4), T2 = _3 + r4, v2 = A2 ? l2 : G2 ? f : c3, r4);
  115. }
  116. function H3() {
  117. return /[^\s]/g.test(t4) ? (X2(j2.join("")), v2 = s, r4) : (j2.push(t4), e6 = t4, r4 + 1);
  118. }
  119. function M2() {
  120. return "\r" !== t4 && "\n" !== t4 || "\\" === e6 ? (j2.push(t4), e6 = t4, r4 + 1) : (X2(j2.join("")), v2 = s, r4);
  121. }
  122. function P() {
  123. return M2();
  124. }
  125. function V() {
  126. return "/" === t4 && "*" === e6 ? (j2.push(t4), X2(j2.join("")), v2 = s, r4 + 1) : (j2.push(t4), e6 = t4, r4 + 1);
  127. }
  128. function O() {
  129. if ("." === e6 && /\d/.test(t4))
  130. return v2 = h, r4;
  131. if ("/" === e6 && "*" === t4)
  132. return v2 = p, r4;
  133. if ("/" === e6 && "/" === t4)
  134. return v2 = u, r4;
  135. if ("." === t4 && j2.length) {
  136. for (; N(j2); )
  137. ;
  138. return v2 = h, r4;
  139. }
  140. if (";" === t4 || ")" === t4 || "(" === t4) {
  141. if (j2.length)
  142. for (; N(j2); )
  143. ;
  144. return X2(t4), v2 = s, r4 + 1;
  145. }
  146. var a4 = 2 === j2.length && "=" !== t4;
  147. if (/[\w_\d\s]/.test(t4) || a4) {
  148. for (; N(j2); )
  149. ;
  150. return v2 = s, r4;
  151. }
  152. return j2.push(t4), e6 = t4, r4 + 1;
  153. }
  154. function N(t5) {
  155. for (var e7, a4, r5 = 0; ; ) {
  156. if (e7 = a.indexOf(t5.slice(0, t5.length + r5).join("")), a4 = a[e7], -1 === e7) {
  157. if (r5-- + t5.length > 0)
  158. continue;
  159. a4 = t5.slice(0, 1).join("");
  160. }
  161. return X2(a4), T2 += a4.length, (j2 = j2.slice(a4.length)).length;
  162. }
  163. }
  164. function $() {
  165. return /[^a-fA-F0-9]/.test(t4) ? (X2(j2.join("")), v2 = s, r4) : (j2.push(t4), e6 = t4, r4 + 1);
  166. }
  167. function z() {
  168. return "." === t4 || /[eE]/.test(t4) ? (j2.push(t4), v2 = h, e6 = t4, r4 + 1) : "x" === t4 && 1 === j2.length && "0" === j2[0] ? (v2 = k, j2.push(t4), e6 = t4, r4 + 1) : /[^\d]/.test(t4) ? (X2(j2.join("")), v2 = s, r4) : (j2.push(t4), e6 = t4, r4 + 1);
  169. }
  170. function I() {
  171. return "f" === t4 && (j2.push(t4), e6 = t4, r4 += 1), /[eE]/.test(t4) || "-" === t4 && /[eE]/.test(e6) ? (j2.push(t4), e6 = t4, r4 + 1) : /[^\d]/.test(t4) ? (X2(j2.join("")), v2 = s, r4) : (j2.push(t4), e6 = t4, r4 + 1);
  172. }
  173. function U() {
  174. if (/[^\d\w_]/.test(t4)) {
  175. var a4 = j2.join("");
  176. return v2 = t3.indexOf(a4) > -1 ? g2 : i.indexOf(a4) > -1 ? w : y, X2(j2.join("")), v2 = s, r4;
  177. }
  178. return j2.push(t4), e6 = t4, r4 + 1;
  179. }
  180. }
  181. function v(t4) {
  182. var e6 = _(), a3 = [];
  183. return a3 = (a3 = a3.concat(e6(t4))).concat(e6(null));
  184. }
  185. function j(t4) {
  186. return v(t4);
  187. }
  188. function x(t4) {
  189. return t4.map((t5) => "eof" !== t5.type ? t5.data : "").join("");
  190. }
  191. var D = ["GL_OES_standard_derivatives", "GL_EXT_frag_depth", "GL_EXT_draw_buffers", "GL_EXT_shader_texture_lod"];
  192. function R(t4, e6 = "100", a3 = "300 es") {
  193. const r4 = /^\s*\#version\s+([0-9]+(\s+[a-zA-Z]+)?)\s*/;
  194. for (const n of t4)
  195. if ("preprocessor" === n.type) {
  196. const t5 = r4.exec(n.data);
  197. if (t5) {
  198. const r5 = t5[1].replace(/\s\s+/g, " ");
  199. if (r5 === a3)
  200. return r5;
  201. if (r5 === e6)
  202. return n.data = "#version " + a3, e6;
  203. throw new Error("unknown glsl version: " + r5);
  204. }
  205. }
  206. return t4.splice(0, 0, { type: "preprocessor", data: "#version " + a3 }, { type: "whitespace", data: "\n" }), null;
  207. }
  208. function T(t4, e6) {
  209. for (let a3 = e6 - 1; a3 >= 0; a3--) {
  210. const e7 = t4[a3];
  211. if ("whitespace" !== e7.type && "block-comment" !== e7.type) {
  212. if ("keyword" !== e7.type)
  213. break;
  214. if ("attribute" === e7.data || "in" === e7.data)
  215. return true;
  216. }
  217. }
  218. return false;
  219. }
  220. function A(t4, e6, a3, r4) {
  221. r4 = r4 || a3;
  222. for (const n of t4)
  223. if ("ident" === n.type && n.data === a3) {
  224. r4 in e6 ? e6[r4]++ : e6[r4] = 0;
  225. return A(t4, e6, r4 + "_" + e6[r4], r4);
  226. }
  227. return a3;
  228. }
  229. function G(t4, e6, a3 = "afterVersion") {
  230. function r4(t5, e7) {
  231. for (let a4 = e7; a4 < t5.length; a4++) {
  232. const e8 = t5[a4];
  233. if ("operator" === e8.type && ";" === e8.data)
  234. return a4;
  235. }
  236. return null;
  237. }
  238. function n(t5) {
  239. let e7 = -1, n2 = 0, o3 = -1;
  240. for (let i3 = 0; i3 < t5.length; i3++) {
  241. const s3 = t5[i3];
  242. if ("preprocessor" === s3.type && (s3.data.match(/\#(if|ifdef|ifndef)\s+.+/) ? ++n2 : s3.data.match(/\#endif\s*.*/) && --n2), "afterVersion" !== a3 && "afterPrecision" !== a3 || "preprocessor" === s3.type && /^#version/.test(s3.data) && (o3 = Math.max(o3, i3)), "afterPrecision" === a3 && "keyword" === s3.type && "precision" === s3.data) {
  243. const e8 = r4(t5, i3);
  244. if (null === e8)
  245. throw new Error("precision statement not followed by any semicolons!");
  246. o3 = Math.max(o3, e8);
  247. }
  248. e7 < o3 && 0 === n2 && (e7 = i3);
  249. }
  250. return e7 + 1;
  251. }
  252. const o2 = { data: "\n", type: "whitespace" }, i2 = (e7) => e7 < t4.length && /[^\r\n]$/.test(t4[e7].data);
  253. let s2 = n(t4);
  254. i2(s2 - 1) && t4.splice(s2++, 0, o2);
  255. for (const c5 of e6)
  256. t4.splice(s2++, 0, c5);
  257. i2(s2 - 1) && i2(s2) && t4.splice(s2, 0, o2);
  258. }
  259. function S(t4, e6, a3, r4 = "lowp") {
  260. G(t4, [{ type: "keyword", data: "out" }, { type: "whitespace", data: " " }, { type: "keyword", data: r4 }, { type: "whitespace", data: " " }, { type: "keyword", data: a3 }, { type: "whitespace", data: " " }, { type: "ident", data: e6 }, { type: "operator", data: ";" }], "afterPrecision");
  261. }
  262. function X(t4, e6, a3, r4, n = "lowp") {
  263. G(t4, [{ type: "keyword", data: "layout" }, { type: "operator", data: "(" }, { type: "keyword", data: "location" }, { type: "whitespace", data: " " }, { type: "operator", data: "=" }, { type: "whitespace", data: " " }, { type: "integer", data: r4.toString() }, { type: "operator", data: ")" }, { type: "whitespace", data: " " }, { type: "keyword", data: "out" }, { type: "whitespace", data: " " }, { type: "keyword", data: n }, { type: "whitespace", data: " " }, { type: "keyword", data: a3 }, { type: "whitespace", data: " " }, { type: "ident", data: e6 }, { type: "operator", data: ";" }], "afterPrecision");
  264. }
  265. function F(t4, e6) {
  266. let a3, r4, n = -1;
  267. for (let o2 = e6; o2 < t4.length; o2++) {
  268. const e7 = t4[o2];
  269. if ("operator" === e7.type && ("[" === e7.data && (a3 = o2), "]" === e7.data)) {
  270. r4 = o2;
  271. break;
  272. }
  273. "integer" === e7.type && (n = parseInt(e7.data, 10));
  274. }
  275. return a3 && r4 && t4.splice(a3, r4 - a3 + 1), n;
  276. }
  277. function L(r4, n) {
  278. const o2 = H2(r4);
  279. if (r(o2))
  280. return o2;
  281. const i2 = j(r4);
  282. if ("300 es" === R(i2, "100", "300 es"))
  283. return r4;
  284. let s2 = null, c5 = null;
  285. const p2 = {}, u2 = {};
  286. for (let t4 = 0; t4 < i2.length; ++t4) {
  287. const r5 = i2[t4];
  288. switch (r5.type) {
  289. case "keyword":
  290. n === H.VERTEX_SHADER && "attribute" === r5.data ? r5.data = "in" : "varying" === r5.data && (r5.data = n === H.VERTEX_SHADER ? "out" : "in");
  291. break;
  292. case "builtin":
  293. if (/^texture(2D|Cube)(Proj)?(Lod|Grad)?(EXT)?$/.test(r5.data.trim()) && (r5.data = r5.data.replace(/(2D|Cube|EXT)/g, "")), n === H.FRAGMENT_SHADER && "gl_FragColor" === r5.data && (s2 || (s2 = A(i2, p2, "fragColor"), S(i2, s2, "vec4")), r5.data = s2), n === H.FRAGMENT_SHADER && "gl_FragData" === r5.data) {
  294. const e6 = F(i2, t4 + 1), a3 = A(i2, p2, "fragData");
  295. X(i2, a3, "vec4", e6, "mediump"), r5.data = a3;
  296. } else
  297. n === H.FRAGMENT_SHADER && "gl_FragDepthEXT" === r5.data && (c5 || (c5 = A(i2, p2, "gl_FragDepth")), r5.data = c5);
  298. break;
  299. case "ident":
  300. if (e.includes(r5.data)) {
  301. if (n === H.VERTEX_SHADER && T(i2, t4))
  302. throw new Error("attribute in vertex shader uses a name that is a reserved word in glsl 300 es");
  303. r5.data in u2 || (u2[r5.data] = A(i2, p2, r5.data)), r5.data = u2[r5.data];
  304. }
  305. }
  306. }
  307. for (let t4 = i2.length - 1; t4 >= 0; --t4) {
  308. const e6 = i2[t4];
  309. if ("preprocessor" === e6.type) {
  310. const a3 = e6.data.match(/\#extension\s+(.*)\:/);
  311. if (a3 && a3[1] && D.includes(a3[1].trim())) {
  312. const e7 = i2[t4 + 1];
  313. i2.splice(t4, e7 && "whitespace" === e7.type ? 2 : 1);
  314. }
  315. const r5 = e6.data.match(/\#ifdef\s+(.*)/);
  316. r5 && r5[1] && D.includes(r5[1].trim()) && (e6.data = "#if 1");
  317. const n2 = e6.data.match(/\#ifndef\s+(.*)/);
  318. n2 && n2[1] && D.includes(n2[1].trim()) && (e6.data = "#if 0");
  319. }
  320. }
  321. return M(r4, x(i2));
  322. }
  323. var C = /* @__PURE__ */ new Map();
  324. function H2(t4) {
  325. return e2.enableCache ? C.get(t4) : null;
  326. }
  327. function M(t4, e6) {
  328. return e2.enableCache && C.set(t4, e6), e6;
  329. }
  330. // node_modules/@arcgis/core/views/webgl/Program.js
  331. var a2 = 4294967295;
  332. var h2 = class {
  333. constructor(t4, o2, i2, a3, h3 = /* @__PURE__ */ new Map()) {
  334. this._context = t4, this._locations = a3, this._uniformBlockBindings = h3, this._refCount = 1, this._compiled = false, this._nameToUniformLocation = {}, this._nameToUniform1 = {}, this._nameToUniform1v = /* @__PURE__ */ new Map(), this._nameToUniform2 = /* @__PURE__ */ new Map(), this._nameToUniform3 = /* @__PURE__ */ new Map(), this._nameToUniform4 = /* @__PURE__ */ new Map(), this._nameToUniformMatrix3 = /* @__PURE__ */ new Map(), this._nameToUniformMatrix4 = /* @__PURE__ */ new Map(), t4 || console.error("RenderingContext isn't initialized!"), 0 === o2.length && console.error("Shaders source should not be empty!"), this._context.type === r2.WEBGL2 && (o2 = L(o2, H.VERTEX_SHADER), i2 = L(i2, H.FRAGMENT_SHADER)), this._vShader = f2(this._context, H.VERTEX_SHADER, o2), this._fShader = f2(this._context, H.FRAGMENT_SHADER, i2), this._vShader && this._fShader || console.error("Error loading shaders!"), this._context.instanceCounter.increment(t2.Shader, this), c2() && (this.vertexShader = o2, this.fragmentShader = i2);
  335. }
  336. get glName() {
  337. if (r(this._glName))
  338. return this._glName;
  339. if (t(this._vShader))
  340. return null;
  341. const t4 = this._context.gl, r4 = t4.createProgram();
  342. if (t4.attachShader(r4, this._vShader), t4.attachShader(r4, this._fShader), this._locations.forEach((o2, i2) => t4.bindAttribLocation(r4, o2, i2)), t4.linkProgram(r4), c2() && !t4.getProgramParameter(r4, t4.LINK_STATUS) && console.error(`Could not link shader
  343. validated: ${t4.getProgramParameter(r4, t4.VALIDATE_STATUS)}, gl error ${t4.getError()}, vertex: ${t4.getShaderParameter(this._vShader, t4.COMPILE_STATUS)}, fragment: ${t4.getShaderParameter(this._fShader, t4.COMPILE_STATUS)}, info log: ${t4.getProgramInfoLog(r4)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`), this._context.type === r2.WEBGL2) {
  344. const o2 = t4;
  345. for (const [t5, i2] of this._uniformBlockBindings) {
  346. const e6 = o2.getUniformBlockIndex(r4, t5);
  347. e6 < a2 && o2.uniformBlockBinding(r4, e6, i2);
  348. }
  349. }
  350. return this._glName = r4, this._context.instanceCounter.increment(t2.Program, this), r4;
  351. }
  352. get hasGLName() {
  353. return r(this._glName);
  354. }
  355. get isCompiled() {
  356. if (this._compiled)
  357. return true;
  358. const t4 = this._context.gl.getExtension("KHR_parallel_shader_compile");
  359. return null == t4 ? (this._compiled = true, true) : (this._compiled = !!this._context.gl.getProgramParameter(this.glName, t4.COMPLETION_STATUS_KHR), this._compiled);
  360. }
  361. dispose() {
  362. if (--this._refCount > 0)
  363. return;
  364. const t4 = this._context.gl;
  365. this._vShader && (t4.deleteShader(this._vShader), this._vShader = null, this._context.instanceCounter.decrement(t2.Shader, this)), this._fShader && (t4.deleteShader(this._fShader), this._fShader = null), this._glName && (t4.deleteProgram(this._glName), this._glName = null, this._context.instanceCounter.decrement(t2.Program, this));
  366. }
  367. ref() {
  368. ++this._refCount;
  369. }
  370. _getUniformLocation(t4) {
  371. return void 0 === this._nameToUniformLocation[t4] && (++l3.numUniforms, this._nameToUniformLocation[t4] = this._context.gl.getUniformLocation(this.glName, t4)), this._nameToUniformLocation[t4];
  372. }
  373. hasUniform(t4) {
  374. return null !== this._getUniformLocation(t4);
  375. }
  376. setUniform1i(t4, o2) {
  377. const i2 = this._nameToUniform1[t4];
  378. void 0 !== i2 && o2 === i2 || (this._context.gl.uniform1i(this._getUniformLocation(t4), o2), this._nameToUniform1[t4] = o2);
  379. }
  380. setUniform1iv(t4, o2) {
  381. g3(this._nameToUniform1v, t4, o2) && this._context.gl.uniform1iv(this._getUniformLocation(t4), o2);
  382. }
  383. setUniform2iv(t4, o2) {
  384. g3(this._nameToUniform2, t4, o2) && this._context.gl.uniform2iv(this._getUniformLocation(t4), o2);
  385. }
  386. setUniform3iv(t4, o2) {
  387. g3(this._nameToUniform3, t4, o2) && this._context.gl.uniform3iv(this._getUniformLocation(t4), o2);
  388. }
  389. setUniform4iv(t4, o2) {
  390. g3(this._nameToUniform4, t4, o2) && this._context.gl.uniform4iv(this._getUniformLocation(t4), o2);
  391. }
  392. setUniform1f(t4, o2) {
  393. const i2 = this._nameToUniform1[t4];
  394. void 0 !== i2 && o2 === i2 || (this._context.gl.uniform1f(this._getUniformLocation(t4), o2), this._nameToUniform1[t4] = o2);
  395. }
  396. setUniform1fv(t4, o2) {
  397. g3(this._nameToUniform1v, t4, o2) && this._context.gl.uniform1fv(this._getUniformLocation(t4), o2);
  398. }
  399. setUniform2f(t4, o2, i2) {
  400. const e6 = this._nameToUniform2.get(t4);
  401. void 0 === e6 ? (this._context.gl.uniform2f(this._getUniformLocation(t4), o2, i2), this._nameToUniform2.set(t4, [o2, i2])) : o2 === e6[0] && i2 === e6[1] || (this._context.gl.uniform2f(this._getUniformLocation(t4), o2, i2), e6[0] = o2, e6[1] = i2);
  402. }
  403. setUniform2fv(t4, o2) {
  404. g3(this._nameToUniform2, t4, o2) && this._context.gl.uniform2fv(this._getUniformLocation(t4), o2);
  405. }
  406. setUniform3f(t4, o2, i2, e6) {
  407. const n = this._nameToUniform3.get(t4);
  408. void 0 === n ? (this._context.gl.uniform3f(this._getUniformLocation(t4), o2, i2, e6), this._nameToUniform3[t4] = [o2, i2, e6]) : o2 === n[0] && i2 === n[1] && e6 === n[2] || (this._context.gl.uniform3f(this._getUniformLocation(t4), o2, i2, e6), n[0] = o2, n[1] = i2, n[2] = e6);
  409. }
  410. setUniform3fv(t4, o2) {
  411. g3(this._nameToUniform3, t4, o2) && this._context.gl.uniform3fv(this._getUniformLocation(t4), o2);
  412. }
  413. setUniform4f(t4, o2, i2, e6, n) {
  414. const r4 = this._nameToUniform4.get(t4);
  415. void 0 === r4 ? (this._context.gl.uniform4f(this._getUniformLocation(t4), o2, i2, e6, n), this._nameToUniform4.set(t4, [o2, i2, e6, n])) : void 0 !== r4 && o2 === r4[0] && i2 === r4[1] && e6 === r4[2] && n === r4[3] || (this._context.gl.uniform4f(this._getUniformLocation(t4), o2, i2, e6, n), r4[0] = o2, r4[1] = i2, r4[2] = e6, r4[3] = n);
  416. }
  417. setUniform4fv(t4, o2) {
  418. g3(this._nameToUniform4, t4, o2) && this._context.gl.uniform4fv(this._getUniformLocation(t4), o2);
  419. }
  420. setUniformMatrix3fv(t4, o2, i2 = false) {
  421. g3(this._nameToUniformMatrix3, t4, o2) && this._context.gl.uniformMatrix3fv(this._getUniformLocation(t4), i2, o2);
  422. }
  423. setUniformMatrix4fv(t4, o2, i2 = false) {
  424. g3(this._nameToUniformMatrix4, t4, o2) && this._context.gl.uniformMatrix4fv(this._getUniformLocation(t4), i2, o2);
  425. }
  426. stop() {
  427. }
  428. };
  429. function f2(t4, o2, i2) {
  430. const n = t4.gl, s2 = n.createShader(o2);
  431. return n.shaderSource(s2, i2), n.compileShader(s2), c2() && !n.getShaderParameter(s2, n.COMPILE_STATUS) && (console.error("Compile error in ".concat(o2 === H.VERTEX_SHADER ? "vertex" : "fragment", " shader")), console.error(n.getShaderInfoLog(s2)), console.error(_2(i2))), l3.enabled && (l3.compiledLOC += i2.match(/\n/g).length + 1), s2;
  432. }
  433. function _2(t4) {
  434. let o2 = 2;
  435. return t4.replace(/\n/g, () => "\n" + c4(o2++) + ":");
  436. }
  437. function c4(t4) {
  438. return t4 >= 1e3 ? t4.toString() : (" " + t4).slice(-3);
  439. }
  440. function g3(o2, i2, e6) {
  441. const n = o2.get(i2);
  442. return n ? c(n, e6) : (o2.set(i2, Array.from(e6)), true);
  443. }
  444. var l3 = { compiledLOC: 0, numUniforms: 0, enabled: false };
  445. // node_modules/@arcgis/core/views/webgl/ShaderCompiler.js
  446. var e4 = class {
  447. constructor(e6) {
  448. this._readFile = e6;
  449. }
  450. resolveIncludes(e6) {
  451. return this._resolve(e6);
  452. }
  453. _resolve(e6, t4 = /* @__PURE__ */ new Map()) {
  454. if (t4.has(e6))
  455. return t4.get(e6);
  456. const r4 = this._read(e6);
  457. if (!r4)
  458. throw new Error(`cannot find shader file ${e6}`);
  459. const s2 = /^[^\S\n]*#include\s+<(\S+)>[^\S\n]?/gm;
  460. let n = s2.exec(r4);
  461. const l4 = [];
  462. for (; null != n; )
  463. l4.push({ path: n[1], start: n.index, length: n[0].length }), n = s2.exec(r4);
  464. let a3 = 0, h3 = "";
  465. return l4.forEach((e7) => {
  466. h3 += r4.slice(a3, e7.start), h3 += t4.has(e7.path) ? "" : this._resolve(e7.path, t4), a3 = e7.start + e7.length;
  467. }), h3 += r4.slice(a3), t4.set(e6, h3), h3;
  468. }
  469. _read(e6) {
  470. return this._readFile(e6);
  471. }
  472. };
  473. // node_modules/@arcgis/core/views/webgl/ProgramTemplate.js
  474. function e5(e6, t4, a3 = "") {
  475. return new h2(e6, a3 + t4.shaders.vertexShader, a3 + t4.shaders.fragmentShader, t4.attributes);
  476. }
  477. export {
  478. h2 as h,
  479. e4 as e,
  480. e5 as e2
  481. };
  482. //# sourceMappingURL=chunk-JBMHQ5RK.js.map