123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490 |
- import {
- c as c2
- } from "./chunk-H2VOWDMO.js";
- import {
- H,
- t as t2
- } from "./chunk-3OFVLRSL.js";
- import {
- r as r2
- } from "./chunk-RWQH5X3O.js";
- import {
- c
- } from "./chunk-2TIUKVZN.js";
- import {
- r,
- t
- } from "./chunk-YXWMMD76.js";
- // node_modules/@arcgis/core/views/webgl/reservedWordsGLSL3.js
- 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"];
- // node_modules/@arcgis/core/views/webgl/testUtils.js
- var e2 = { enableCache: false };
- // node_modules/@arcgis/core/chunks/builtins.js
- var e3;
- var r3 = { exports: {} };
- 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);
- var t3 = r3.exports;
- var o;
- var l = { exports: {} };
- o = l, function(e6) {
- var r4 = ["<<=", ">>=", "++", "--", "<<", ">>", "<=", ">=", "==", "!=", "&&", "||", "+=", "-=", "*=", "/=", "%=", "&=", "^^", "^=", "|=", "(", ")", "[", "]", ".", "!", "~", "*", "/", "%", "+", "-", "<", ">", "&", "^", "|", "?", ":", "=", ",", ";", "{", "}"];
- void 0 !== r4 && (o.exports = r4);
- }();
- var a = l.exports;
- var g = { exports: {} };
- !function(e6) {
- !function(r4) {
- var t4 = function() {
- 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"];
- }();
- void 0 !== t4 && (e6.exports = t4);
- }();
- }(g);
- var i = g.exports;
- // node_modules/@arcgis/core/views/webgl/ShaderTranspiler.js
- var s = 999;
- var c3 = 9999;
- var p = 0;
- var u = 1;
- var d = 2;
- var f = 3;
- var l2 = 4;
- var h = 5;
- var y = 6;
- var w = 7;
- var g2 = 8;
- var m = 9;
- var b = 10;
- var k = 11;
- var E = ["block-comment", "line-comment", "preprocessor", "operator", "integer", "float", "ident", "builtin", "keyword", "whitespace", "eof", "integer"];
- function _() {
- var t4, e6, a3, r4 = 0, _3 = 0, v2 = s, j2 = [], x2 = [], D2 = 1, R2 = 0, T2 = 0, A2 = false, G2 = false, S2 = "";
- return function(t5) {
- return x2 = [], null !== t5 ? F2(t5.replace ? t5.replace(/\r\n/g, "\n") : t5) : L2();
- };
- function X2(t5) {
- t5.length && x2.push({ type: E[v2], data: t5, position: T2, line: D2, column: R2 });
- }
- function F2(e7) {
- var n;
- for (r4 = 0, a3 = (S2 += e7).length; t4 = S2[r4], r4 < a3; ) {
- switch (n = r4, v2) {
- case p:
- r4 = V();
- break;
- case u:
- r4 = P();
- break;
- case d:
- r4 = M2();
- break;
- case f:
- r4 = O();
- break;
- case l2:
- r4 = z();
- break;
- case k:
- r4 = $();
- break;
- case h:
- r4 = I();
- break;
- case c3:
- r4 = U();
- break;
- case m:
- r4 = H3();
- break;
- case s:
- r4 = C2();
- }
- if (n !== r4)
- if ("\n" === S2[n])
- R2 = 0, ++D2;
- else
- ++R2;
- }
- return _3 += r4, S2 = S2.slice(r4), x2;
- }
- function L2(t5) {
- return j2.length && X2(j2.join("")), v2 = b, X2("(eof)"), x2;
- }
- function C2() {
- 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);
- }
- function H3() {
- return /[^\s]/g.test(t4) ? (X2(j2.join("")), v2 = s, r4) : (j2.push(t4), e6 = t4, r4 + 1);
- }
- function M2() {
- return "\r" !== t4 && "\n" !== t4 || "\\" === e6 ? (j2.push(t4), e6 = t4, r4 + 1) : (X2(j2.join("")), v2 = s, r4);
- }
- function P() {
- return M2();
- }
- function V() {
- return "/" === t4 && "*" === e6 ? (j2.push(t4), X2(j2.join("")), v2 = s, r4 + 1) : (j2.push(t4), e6 = t4, r4 + 1);
- }
- function O() {
- if ("." === e6 && /\d/.test(t4))
- return v2 = h, r4;
- if ("/" === e6 && "*" === t4)
- return v2 = p, r4;
- if ("/" === e6 && "/" === t4)
- return v2 = u, r4;
- if ("." === t4 && j2.length) {
- for (; N(j2); )
- ;
- return v2 = h, r4;
- }
- if (";" === t4 || ")" === t4 || "(" === t4) {
- if (j2.length)
- for (; N(j2); )
- ;
- return X2(t4), v2 = s, r4 + 1;
- }
- var a4 = 2 === j2.length && "=" !== t4;
- if (/[\w_\d\s]/.test(t4) || a4) {
- for (; N(j2); )
- ;
- return v2 = s, r4;
- }
- return j2.push(t4), e6 = t4, r4 + 1;
- }
- function N(t5) {
- for (var e7, a4, r5 = 0; ; ) {
- if (e7 = a.indexOf(t5.slice(0, t5.length + r5).join("")), a4 = a[e7], -1 === e7) {
- if (r5-- + t5.length > 0)
- continue;
- a4 = t5.slice(0, 1).join("");
- }
- return X2(a4), T2 += a4.length, (j2 = j2.slice(a4.length)).length;
- }
- }
- function $() {
- return /[^a-fA-F0-9]/.test(t4) ? (X2(j2.join("")), v2 = s, r4) : (j2.push(t4), e6 = t4, r4 + 1);
- }
- function z() {
- 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);
- }
- function I() {
- 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);
- }
- function U() {
- if (/[^\d\w_]/.test(t4)) {
- var a4 = j2.join("");
- return v2 = t3.indexOf(a4) > -1 ? g2 : i.indexOf(a4) > -1 ? w : y, X2(j2.join("")), v2 = s, r4;
- }
- return j2.push(t4), e6 = t4, r4 + 1;
- }
- }
- function v(t4) {
- var e6 = _(), a3 = [];
- return a3 = (a3 = a3.concat(e6(t4))).concat(e6(null));
- }
- function j(t4) {
- return v(t4);
- }
- function x(t4) {
- return t4.map((t5) => "eof" !== t5.type ? t5.data : "").join("");
- }
- var D = ["GL_OES_standard_derivatives", "GL_EXT_frag_depth", "GL_EXT_draw_buffers", "GL_EXT_shader_texture_lod"];
- function R(t4, e6 = "100", a3 = "300 es") {
- const r4 = /^\s*\#version\s+([0-9]+(\s+[a-zA-Z]+)?)\s*/;
- for (const n of t4)
- if ("preprocessor" === n.type) {
- const t5 = r4.exec(n.data);
- if (t5) {
- const r5 = t5[1].replace(/\s\s+/g, " ");
- if (r5 === a3)
- return r5;
- if (r5 === e6)
- return n.data = "#version " + a3, e6;
- throw new Error("unknown glsl version: " + r5);
- }
- }
- return t4.splice(0, 0, { type: "preprocessor", data: "#version " + a3 }, { type: "whitespace", data: "\n" }), null;
- }
- function T(t4, e6) {
- for (let a3 = e6 - 1; a3 >= 0; a3--) {
- const e7 = t4[a3];
- if ("whitespace" !== e7.type && "block-comment" !== e7.type) {
- if ("keyword" !== e7.type)
- break;
- if ("attribute" === e7.data || "in" === e7.data)
- return true;
- }
- }
- return false;
- }
- function A(t4, e6, a3, r4) {
- r4 = r4 || a3;
- for (const n of t4)
- if ("ident" === n.type && n.data === a3) {
- r4 in e6 ? e6[r4]++ : e6[r4] = 0;
- return A(t4, e6, r4 + "_" + e6[r4], r4);
- }
- return a3;
- }
- function G(t4, e6, a3 = "afterVersion") {
- function r4(t5, e7) {
- for (let a4 = e7; a4 < t5.length; a4++) {
- const e8 = t5[a4];
- if ("operator" === e8.type && ";" === e8.data)
- return a4;
- }
- return null;
- }
- function n(t5) {
- let e7 = -1, n2 = 0, o3 = -1;
- for (let i3 = 0; i3 < t5.length; i3++) {
- const s3 = t5[i3];
- 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) {
- const e8 = r4(t5, i3);
- if (null === e8)
- throw new Error("precision statement not followed by any semicolons!");
- o3 = Math.max(o3, e8);
- }
- e7 < o3 && 0 === n2 && (e7 = i3);
- }
- return e7 + 1;
- }
- const o2 = { data: "\n", type: "whitespace" }, i2 = (e7) => e7 < t4.length && /[^\r\n]$/.test(t4[e7].data);
- let s2 = n(t4);
- i2(s2 - 1) && t4.splice(s2++, 0, o2);
- for (const c5 of e6)
- t4.splice(s2++, 0, c5);
- i2(s2 - 1) && i2(s2) && t4.splice(s2, 0, o2);
- }
- function S(t4, e6, a3, r4 = "lowp") {
- 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");
- }
- function X(t4, e6, a3, r4, n = "lowp") {
- 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");
- }
- function F(t4, e6) {
- let a3, r4, n = -1;
- for (let o2 = e6; o2 < t4.length; o2++) {
- const e7 = t4[o2];
- if ("operator" === e7.type && ("[" === e7.data && (a3 = o2), "]" === e7.data)) {
- r4 = o2;
- break;
- }
- "integer" === e7.type && (n = parseInt(e7.data, 10));
- }
- return a3 && r4 && t4.splice(a3, r4 - a3 + 1), n;
- }
- function L(r4, n) {
- const o2 = H2(r4);
- if (r(o2))
- return o2;
- const i2 = j(r4);
- if ("300 es" === R(i2, "100", "300 es"))
- return r4;
- let s2 = null, c5 = null;
- const p2 = {}, u2 = {};
- for (let t4 = 0; t4 < i2.length; ++t4) {
- const r5 = i2[t4];
- switch (r5.type) {
- case "keyword":
- n === H.VERTEX_SHADER && "attribute" === r5.data ? r5.data = "in" : "varying" === r5.data && (r5.data = n === H.VERTEX_SHADER ? "out" : "in");
- break;
- case "builtin":
- 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) {
- const e6 = F(i2, t4 + 1), a3 = A(i2, p2, "fragData");
- X(i2, a3, "vec4", e6, "mediump"), r5.data = a3;
- } else
- n === H.FRAGMENT_SHADER && "gl_FragDepthEXT" === r5.data && (c5 || (c5 = A(i2, p2, "gl_FragDepth")), r5.data = c5);
- break;
- case "ident":
- if (e.includes(r5.data)) {
- if (n === H.VERTEX_SHADER && T(i2, t4))
- throw new Error("attribute in vertex shader uses a name that is a reserved word in glsl 300 es");
- r5.data in u2 || (u2[r5.data] = A(i2, p2, r5.data)), r5.data = u2[r5.data];
- }
- }
- }
- for (let t4 = i2.length - 1; t4 >= 0; --t4) {
- const e6 = i2[t4];
- if ("preprocessor" === e6.type) {
- const a3 = e6.data.match(/\#extension\s+(.*)\:/);
- if (a3 && a3[1] && D.includes(a3[1].trim())) {
- const e7 = i2[t4 + 1];
- i2.splice(t4, e7 && "whitespace" === e7.type ? 2 : 1);
- }
- const r5 = e6.data.match(/\#ifdef\s+(.*)/);
- r5 && r5[1] && D.includes(r5[1].trim()) && (e6.data = "#if 1");
- const n2 = e6.data.match(/\#ifndef\s+(.*)/);
- n2 && n2[1] && D.includes(n2[1].trim()) && (e6.data = "#if 0");
- }
- }
- return M(r4, x(i2));
- }
- var C = /* @__PURE__ */ new Map();
- function H2(t4) {
- return e2.enableCache ? C.get(t4) : null;
- }
- function M(t4, e6) {
- return e2.enableCache && C.set(t4, e6), e6;
- }
- // node_modules/@arcgis/core/views/webgl/Program.js
- var a2 = 4294967295;
- var h2 = class {
- constructor(t4, o2, i2, a3, h3 = /* @__PURE__ */ new Map()) {
- 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);
- }
- get glName() {
- if (r(this._glName))
- return this._glName;
- if (t(this._vShader))
- return null;
- const t4 = this._context.gl, r4 = t4.createProgram();
- 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
- 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) {
- const o2 = t4;
- for (const [t5, i2] of this._uniformBlockBindings) {
- const e6 = o2.getUniformBlockIndex(r4, t5);
- e6 < a2 && o2.uniformBlockBinding(r4, e6, i2);
- }
- }
- return this._glName = r4, this._context.instanceCounter.increment(t2.Program, this), r4;
- }
- get hasGLName() {
- return r(this._glName);
- }
- get isCompiled() {
- if (this._compiled)
- return true;
- const t4 = this._context.gl.getExtension("KHR_parallel_shader_compile");
- return null == t4 ? (this._compiled = true, true) : (this._compiled = !!this._context.gl.getProgramParameter(this.glName, t4.COMPLETION_STATUS_KHR), this._compiled);
- }
- dispose() {
- if (--this._refCount > 0)
- return;
- const t4 = this._context.gl;
- 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));
- }
- ref() {
- ++this._refCount;
- }
- _getUniformLocation(t4) {
- return void 0 === this._nameToUniformLocation[t4] && (++l3.numUniforms, this._nameToUniformLocation[t4] = this._context.gl.getUniformLocation(this.glName, t4)), this._nameToUniformLocation[t4];
- }
- hasUniform(t4) {
- return null !== this._getUniformLocation(t4);
- }
- setUniform1i(t4, o2) {
- const i2 = this._nameToUniform1[t4];
- void 0 !== i2 && o2 === i2 || (this._context.gl.uniform1i(this._getUniformLocation(t4), o2), this._nameToUniform1[t4] = o2);
- }
- setUniform1iv(t4, o2) {
- g3(this._nameToUniform1v, t4, o2) && this._context.gl.uniform1iv(this._getUniformLocation(t4), o2);
- }
- setUniform2iv(t4, o2) {
- g3(this._nameToUniform2, t4, o2) && this._context.gl.uniform2iv(this._getUniformLocation(t4), o2);
- }
- setUniform3iv(t4, o2) {
- g3(this._nameToUniform3, t4, o2) && this._context.gl.uniform3iv(this._getUniformLocation(t4), o2);
- }
- setUniform4iv(t4, o2) {
- g3(this._nameToUniform4, t4, o2) && this._context.gl.uniform4iv(this._getUniformLocation(t4), o2);
- }
- setUniform1f(t4, o2) {
- const i2 = this._nameToUniform1[t4];
- void 0 !== i2 && o2 === i2 || (this._context.gl.uniform1f(this._getUniformLocation(t4), o2), this._nameToUniform1[t4] = o2);
- }
- setUniform1fv(t4, o2) {
- g3(this._nameToUniform1v, t4, o2) && this._context.gl.uniform1fv(this._getUniformLocation(t4), o2);
- }
- setUniform2f(t4, o2, i2) {
- const e6 = this._nameToUniform2.get(t4);
- 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);
- }
- setUniform2fv(t4, o2) {
- g3(this._nameToUniform2, t4, o2) && this._context.gl.uniform2fv(this._getUniformLocation(t4), o2);
- }
- setUniform3f(t4, o2, i2, e6) {
- const n = this._nameToUniform3.get(t4);
- 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);
- }
- setUniform3fv(t4, o2) {
- g3(this._nameToUniform3, t4, o2) && this._context.gl.uniform3fv(this._getUniformLocation(t4), o2);
- }
- setUniform4f(t4, o2, i2, e6, n) {
- const r4 = this._nameToUniform4.get(t4);
- 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);
- }
- setUniform4fv(t4, o2) {
- g3(this._nameToUniform4, t4, o2) && this._context.gl.uniform4fv(this._getUniformLocation(t4), o2);
- }
- setUniformMatrix3fv(t4, o2, i2 = false) {
- g3(this._nameToUniformMatrix3, t4, o2) && this._context.gl.uniformMatrix3fv(this._getUniformLocation(t4), i2, o2);
- }
- setUniformMatrix4fv(t4, o2, i2 = false) {
- g3(this._nameToUniformMatrix4, t4, o2) && this._context.gl.uniformMatrix4fv(this._getUniformLocation(t4), i2, o2);
- }
- stop() {
- }
- };
- function f2(t4, o2, i2) {
- const n = t4.gl, s2 = n.createShader(o2);
- 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;
- }
- function _2(t4) {
- let o2 = 2;
- return t4.replace(/\n/g, () => "\n" + c4(o2++) + ":");
- }
- function c4(t4) {
- return t4 >= 1e3 ? t4.toString() : (" " + t4).slice(-3);
- }
- function g3(o2, i2, e6) {
- const n = o2.get(i2);
- return n ? c(n, e6) : (o2.set(i2, Array.from(e6)), true);
- }
- var l3 = { compiledLOC: 0, numUniforms: 0, enabled: false };
- // node_modules/@arcgis/core/views/webgl/ShaderCompiler.js
- var e4 = class {
- constructor(e6) {
- this._readFile = e6;
- }
- resolveIncludes(e6) {
- return this._resolve(e6);
- }
- _resolve(e6, t4 = /* @__PURE__ */ new Map()) {
- if (t4.has(e6))
- return t4.get(e6);
- const r4 = this._read(e6);
- if (!r4)
- throw new Error(`cannot find shader file ${e6}`);
- const s2 = /^[^\S\n]*#include\s+<(\S+)>[^\S\n]?/gm;
- let n = s2.exec(r4);
- const l4 = [];
- for (; null != n; )
- l4.push({ path: n[1], start: n.index, length: n[0].length }), n = s2.exec(r4);
- let a3 = 0, h3 = "";
- return l4.forEach((e7) => {
- h3 += r4.slice(a3, e7.start), h3 += t4.has(e7.path) ? "" : this._resolve(e7.path, t4), a3 = e7.start + e7.length;
- }), h3 += r4.slice(a3), t4.set(e6, h3), h3;
- }
- _read(e6) {
- return this._readFile(e6);
- }
- };
- // node_modules/@arcgis/core/views/webgl/ProgramTemplate.js
- function e5(e6, t4, a3 = "") {
- return new h2(e6, a3 + t4.shaders.vertexShader, a3 + t4.shaders.fragmentShader, t4.attributes);
- }
- export {
- h2 as h,
- e4 as e,
- e5 as e2
- };
- //# sourceMappingURL=chunk-JBMHQ5RK.js.map
|