{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/views/webgl/VertexArrayObject.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderCompiler.js","webpack:///./node_modules/@arcgis/core/views/webgl/ProgramTemplate.js","webpack:///./node_modules/@arcgis/core/views/webgl/BufferObject.js","webpack:///./node_modules/@arcgis/core/views/webgl/Util.js","webpack:///./node_modules/@arcgis/core/views/webgl/Program.js","webpack:///./node_modules/@arcgis/core/views/webgl/Renderbuffer.js","webpack:///./node_modules/@arcgis/core/views/webgl/reservedWordsGLSL3.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderTranspiler.js","webpack:///./node_modules/@arcgis/core/views/webgl/FramebufferObject.js"],"names":["o","getLogger","f","t","e","i","r","n","this","_context","_locations","_layout","_buffers","_indexBuffer","_glName","_initialized","instanceCounter","increment","VAO","Object","keys","reduce","size","capabilities","vao","deleteVertexArray","warn","getBoundVAO","bindVAO","dispose","decrement","getOwnPropertyNames","length","createVertexArray","bindVertexArray","_bindLayout","initialize","glName","s","error","gl","bindBuffer","ELEMENT_ARRAY_BUFFER","_unbindLayout","unbindBuffer","bufferType","readFile","_resolve","Map","has","get","_read","Error","exec","l","push","path","start","index","a","h","forEach","slice","set","shaders","vertexShader","fragmentShader","attributes","_","b","c","usage","_size","_indexType","Buffer","createBuffer","setData","ARRAY_BUFFER","type","WEBGL2","UNIFORM_BUFFER","STREAM_READ","PIXEL_PACK_BUFFER","setSize","STREAM_DRAW","PIXEL_UNPACK_BUFFER","UNSIGNED_INT","deleteBuffer","UNSIGNED_SHORT","_setBufferData","byteLength","_isVAOAware","bufferData","u","E","ArrayBuffer","isView","buffer","d","bufferSubData","BYTES_PER_ELEMENT","subarray","byteSize","COPY_READ_BUFFER","getBufferSubData","clientWaitAsync","getSubData","getError","NO_ERROR","INVALID_ENUM","INVALID_VALUE","INVALID_OPERATION","INVALID_FRAMEBUFFER_OPERATION","OUT_OF_MEMORY","CONTEXT_LOST_WEBGL","vertexBuffers","layout","stride","R","instancing","name","console","count","vertexAttribPointer","normalized","offset","enableVertexAttribArray","divisor","vertexAttribDivisor","disableVertexAttribArray","ALPHA","LUMINANCE","RED","RED_INTEGER","R8","R8I","R8UI","R8_SNORM","STENCIL_INDEX8","LUMINANCE_ALPHA","RG","RG_INTEGER","RGBA4","R16F","R16I","R16UI","RG8","RG8I","RG8UI","RG8_SNORM","RGB565","RGB5_A1","DEPTH_COMPONENT16","DEPTH_COMPONENT","RGB","RGB_INTEGER","RGB8","RGB8I","RGB8UI","RGB8_SNORM","SRGB8","DEPTH_COMPONENT24","DEPTH_STENCIL","RGBA","RGBA_INTEGER","RGBA8","R32F","R11F_G11F_B10F","RG16F","R32I","R32UI","RG16I","RG16UI","RGBA8I","RGBA8UI","RGBA8_SNORM","SRGB8_ALPHA8","RGB9_E5","RGB10_A2UI","RGB10_A2","DEPTH_COMPONENT32F","DEPTH24_STENCIL8","DEPTH32F_STENCIL8","RGB16F","RGB16I","RGB16UI","RG32F","RG32I","RG32UI","RGBA16F","RGBA16I","RGBA16UI","RGB32F","RGB32I","RGB32UI","RGBA32F","RGBA32I","RGBA32UI","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_R11_EAC","COMPRESSED_SIGNED_R11_EAC","COMPRESSED_RGB8_ETC2","COMPRESSED_SRGB8_ETC2","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_RG11_EAC","COMPRESSED_SIGNED_RG11_EAC","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_SRGB8_ALPHA8_ETC2_EAC","descriptor","internalFormat","pixelFormat","hasMipmap","width","height","m","_uniformBlockBindings","_refCount","_compiled","_nameToUniformLocation","_nameToUniform1","_nameToUniform1v","_nameToUniform2","_nameToUniform3","_nameToUniform4","_nameToUniformMatrix3","_nameToUniformMatrix4","VERTEX_SHADER","FRAGMENT_SHADER","_vShader","_fShader","Shader","createProgram","attachShader","bindAttribLocation","linkProgram","getProgramParameter","LINK_STATUS","VALIDATE_STATUS","getShaderParameter","COMPILE_STATUS","getProgramInfoLog","getUniformBlockIndex","uniformBlockBinding","Program","getExtension","COMPLETION_STATUS_KHR","deleteShader","deleteProgram","getUniformLocation","_getUniformLocation","uniform1i","uniform1iv","Array","from","uniform2iv","uniform3iv","uniform4iv","uniform1f","uniform1fv","uniform2f","uniform2fv","uniform3f","uniform3fv","uniform4f","uniform4fv","g","uniformMatrix3fv","uniformMatrix4fv","createShader","shaderSource","compileShader","concat","getShaderInfoLog","log","replace","toString","_desc","Renderbuffer","createRenderbuffer","bindRenderbuffer","multisampled","renderbufferStorageMultisample","RENDERBUFFER","samples","renderbufferStorage","parameters","maxSamples","Math","min","deleteRenderbuffer","exports","p","x","y","w","M","v","T","P","C","k","D","j","F","S","L","data","position","line","column","I","G","A","O","H","B","N","U","X","V","join","test","q","indexOf","map","splice","match","max","parseInt","trim","enableCache","_depthAttachment","_stencilAttachment","_colorAttachments","Framebuffer","isArray","COLOR_ATTACHMENT0","_validateColorAttachmentPoint","depthTexture","_depthStencilTexture","depthStencilTarget","DEPTH_STENCIL_RENDER_BUFFER","STENCIL_RENDER_BUFFER","DEPTH_RENDER_BUFFER","getBoundFramebufferObject","_disposeColorAttachments","_disposeDepthStencilAttachments","deleteFramebuffer","bindFramebuffer","depthStencilAttachment","_framebufferTexture2D","delete","dataType","UNSIGNED_INT_24_8","DEPTH_STENCIL_TEXTURE","DEPTH_ATTACHMENT","DEPTH_STENCIL_ATTACHMENT","framebufferRenderbuffer","FRAMEBUFFER","_detachColorAttachment","detachDepthStencilBuffer","detachDepthStencilTexture","target","TEXTURE_2D","bindTexture","TEXTURE_UNIT_FOR_UPDATES","setActiveTexture","copyTexSubImage2D","readPixels","createPixelPack","getSubDataAsync","resize","createFramebuffer","colorTarget","RENDER_BUFFER","TEXTURE","CUBEMAP","TEXTURE_CUBE_MAP","NONE","STENCIL_ATTACHMENT","samplingMode","NEAREST","wrapMode","CLAMP_TO_EDGE","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","framebufferTexture2D","clear","_MAX_COLOR_ATTACHMENTS","drawBuffers","getParameter","MAX_COLOR_ATTACHMENTS","UNSIGNED_BYTE","TEXTURE_CUBE_MAP_POSITIVE_X"],"mappings":"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","file":"js/chunk-2d52e5b0.eb688330.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport t from\"../../core/Logger.js\";import{isSome as e,disposeMaybe as i}from\"../../core/maybe.js\";import{ResourceType as s}from\"./enums.js\";import{bindVertexBufferLayout as r,unbindVertexBufferLayout as n}from\"./Util.js\";const o=t.getLogger(\"esri.views.webgl.VertexArrayObject\");class f{constructor(t,e,i,r,n=null){this._context=t,this._locations=e,this._layout=i,this._buffers=r,this._indexBuffer=n,this._glName=null,this._initialized=!1,t.instanceCounter.increment(s.VAO,this)}get glName(){return this._glName}get vertexBuffers(){return this._buffers}get indexBuffer(){return this._indexBuffer}get size(){return Object.keys(this._buffers).reduce(((t,e)=>t+this._buffers[e].size),e(this._indexBuffer)?this._indexBuffer.size:0)}get layout(){return this._layout}get locations(){return this._locations}dispose(t=!0){if(!this._context)return void((this._glName||t&&Object.getOwnPropertyNames(this._buffers).length>0)&&o.warn(\"Leaked WebGL VAO\"));if(this._glName){var e,r;const t=null==(e=this._context)||null==(r=e.capabilities)?void 0:r.vao;t?(t.deleteVertexArray(this._glName),this._glName=null):o.warn(\"Leaked WebGL VAO\")}if(this._context.getBoundVAO()===this&&this._context.bindVAO(null),t){for(const t in this._buffers)this._buffers[t].dispose(),delete this._buffers[t];this._indexBuffer=i(this._indexBuffer)}this._context.instanceCounter.decrement(s.VAO,this),this._context=null}initialize(){if(this._initialized)return;const t=this._context.capabilities.vao;if(t){const e=t.createVertexArray();t.bindVertexArray(e),this._bindLayout(),t.bindVertexArray(null),this._glName=e}this._initialized=!0}bind(){this.initialize();const t=this._context.capabilities.vao;t?t.bindVertexArray(this.glName):(this._context.bindVAO(null),this._bindLayout())}_bindLayout(){const{_buffers:t,_layout:i,_indexBuffer:s}=this;t||o.error(\"Vertex buffer dictionary is empty!\");const n=this._context.gl;for(const e in t){const s=t[e];s||o.error(\"Vertex buffer is uninitialized!\");const n=i[e];n||o.error(\"Vertex element descriptor is empty!\"),r(this._context,this._locations,s,n)}if(e(s)){!!this._context.capabilities.vao?n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,s.glName):this._context.bindBuffer(s)}}unbind(){this.initialize();const t=this._context.capabilities.vao;t?t.bindVertexArray(null):this._unbindLayout()}_unbindLayout(){const{_buffers:t,_layout:i}=this;t||o.error(\"Vertex buffer dictionary is empty!\");for(const e in t){const s=t[e];s||o.error(\"Vertex buffer is uninitialized!\");const r=i[e];n(this._context,this._locations,s,r)}e(this._indexBuffer)&&this._context.unbindBuffer(this._indexBuffer.bufferType)}}export{f as VertexArrayObject};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nclass e{constructor(e){this.readFile=e}resolveIncludes(e){return this._resolve(e)}_resolve(e,t=new Map){if(t.has(e))return t.get(e);const r=this._read(e);if(!r)throw new Error(`cannot find shader file ${e}`);const s=/^[^\\S\\n]*#include\\s+<(\\S+)>[^\\S\\n]?/gm;let n=s.exec(r);const l=[];for(;null!=n;)l.push({path:n[1],start:n.index,length:n[0].length}),n=s.exec(r);let a=0,h=\"\";return l.forEach((e=>{h+=r.slice(a,e.start),h+=t.has(e.path)?\"\":this._resolve(e.path,t),a=e.start+e.length})),h+=r.slice(a),t.set(e,h),h}_read(e){return this.readFile(e)}}export{e as ShaderCompiler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport{Program as r}from\"./Program.js\";function e(e,t,a=\"\"){return new r(e,a+t.shaders.vertexShader,a+t.shaders.fragmentShader,t.attributes)}export{e as createProgram};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport{isArrayLike as e}from\"../../core/arrayUtils.js\";import t from\"../../core/Logger.js\";import{isSome as r}from\"../../core/maybe.js\";import{isUint16Array as i,isUint32Array as s}from\"../../core/typedArrayUtil.js\";import{checkWebGLError as n}from\"./checkWebGLError.js\";import{ContextType as o}from\"./context-util.js\";import{BufferType as f,ResourceType as a,Usage as u,DataType as h}from\"./enums.js\";const _=t.getLogger(\"esri.views.webgl.BufferObject\");function b(t){return e(t)}class c{constructor(e,t,r,i){this._context=e,this.bufferType=t,this.usage=r,this._glName=null,this._size=-1,this._indexType=void 0,e.instanceCounter.increment(a.Buffer,this),this._glName=this._context.gl.createBuffer(),n(this._context.gl),i&&this.setData(i)}static createIndex(e,t,r){return new c(e,f.ELEMENT_ARRAY_BUFFER,t,r)}static createVertex(e,t,r){return new c(e,f.ARRAY_BUFFER,t,r)}static createUniform(e,t,r){if(e.type!==o.WEBGL2)throw new Error(\"Uniform buffers are supported in WebGL2 only!\");return new c(e,f.UNIFORM_BUFFER,t,r)}static createPixelPack(e,t=u.STREAM_READ,r){if(e.type!==o.WEBGL2)throw new Error(\"Pixel pack buffers are supported in WebGL2 only!\");const i=new c(e,f.PIXEL_PACK_BUFFER,t);return r&&i.setSize(r),i}static createPixelUnpack(e,t=u.STREAM_DRAW,r){if(e.type!==o.WEBGL2)throw new Error(\"Pixel unpack buffers are supported in WebGL2 only!\");return new c(e,f.PIXEL_UNPACK_BUFFER,t,r)}get glName(){return this._glName}get size(){return this._size}get indexType(){return this._indexType}get byteSize(){return this.bufferType===f.ELEMENT_ARRAY_BUFFER?this._indexType===h.UNSIGNED_INT?4*this._size:2*this._size:this._size}get _isVAOAware(){return this.bufferType===f.ELEMENT_ARRAY_BUFFER||this.bufferType===f.ARRAY_BUFFER}dispose(){var e;if(null!=(e=this._context)&&e.gl){if(this._glName){this._context.gl.deleteBuffer(this._glName),this._glName=null}this._context.instanceCounter.decrement(a.Buffer,this),this._context=null}else this._glName&&_.warn(\"Leaked WebGL buffer object\")}setSize(e,t=null){if(e<=0&&_.error(\"Buffer size needs to be positive!\"),this.bufferType===f.ELEMENT_ARRAY_BUFFER&&r(t))switch(this._indexType=t,t){case h.UNSIGNED_SHORT:e*=2;break;case h.UNSIGNED_INT:e*=4}this._setBufferData(e)}setData(e){if(!e)return;let t=e.byteLength;this.bufferType===f.ELEMENT_ARRAY_BUFFER&&(i(e)&&(t/=2,this._indexType=h.UNSIGNED_SHORT),s(e)&&(t/=4,this._indexType=h.UNSIGNED_INT)),this._setBufferData(t,e)}_setBufferData(e,t=null){this._size=e;const i=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const s=this._context.gl;r(t)?s.bufferData(this.bufferType,t,this.usage):s.bufferData(this.bufferType,e,this.usage),n(s),this._isVAOAware&&this._context.bindVAO(i)}setSubData(e,t=0,r=0,o=e.byteLength){if(!e)return;(t<0||t>=this._size)&&_.error(\"offset is out of range!\");let a=t,u=r,h=o,b=e.byteLength;this.bufferType===f.ELEMENT_ARRAY_BUFFER&&(i(e)?(b/=2,a*=2,u*=2,h*=2):s(e)&&(b/=4,a*=4,u*=4,h*=4)),void 0===o&&(o=b-1),r>=o&&_.error(\"end must be bigger than start!\"),t+r-o>this._size&&_.error(\"An attempt to write beyond the end of the buffer!\");const c=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const E=this._context.gl,l=ArrayBuffer.isView(e)?e.buffer:e,d=0===u&&h===e.byteLength?l:l.slice(u,h);E.bufferSubData(this.bufferType,a,d),n(E),this._isVAOAware&&this._context.bindVAO(c)}setSubDataFromView(e,t,r,i){if(!e)return;(t<0||t>=this._size)&&_.error(\"offset is out of range!\"),r>=i&&_.error(\"end must be bigger than start!\"),t+r-i>this._size&&_.error(\"An attempt to write beyond the end of the buffer!\");const s=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const f=this._context.gl;if(this._context.type===o.WEBGL2)f.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,e,r,i-r);else{const s=0===r&&i===e.length?e:e.subarray(r,i);f.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,s)}n(f),this._isVAOAware&&this._context.bindVAO(s)}getSubData(e,t=0,r,i){if(this._context.type!==o.WEBGL2)return void _.error(\"Get buffer subdata is supported in WebGL2 only!\");if(r<0||i<0)return void _.error(\"Problem getting subdata: offset and length were less than zero!\");const s=b(e)?e.BYTES_PER_ELEMENT:1;if(s*((null!=r?r:0)+(null!=i?i:0))>e.byteLength)return void _.error(\"Problem getting subdata: offset and length exceeded destination size!\");t+s*(null!=i?i:0)>this.byteSize&&_.warn(\"Potential problem getting subdata: requested data exceeds buffer size!\");const n=this._context.gl;this._context.bindBuffer(this,f.COPY_READ_BUFFER),n.getBufferSubData(f.COPY_READ_BUFFER,t,e,r,i),this._context.unbindBuffer(f.COPY_READ_BUFFER)}async getSubDataAsync(e,t=0,r,i){this._context.type===o.WEBGL2?(await this._context.clientWaitAsync(),this.getSubData(e,t,r,i)):_.error(\"Get buffer subdata is supported in WebGL2 only!\")}}export{c as BufferObject};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{isNone as e}from\"../../core/maybe.js\";import{BufferType as r,CompressedTextureFormat as t,SizedPixelFormat as s,RenderbufferFormat as a,PixelFormat as c}from\"./enums.js\";function i(e){const r=e.gl;switch(r.getError()){case r.NO_ERROR:return null;case r.INVALID_ENUM:return\"An unacceptable value has been specified for an enumerated argument\";case r.INVALID_VALUE:return\"A numeric argument is out of range\";case r.INVALID_OPERATION:return\"The specified command is not allowed for the current state\";case r.INVALID_FRAMEBUFFER_OPERATION:return\"The currently bound framebuffer is not framebuffer complete\";case r.OUT_OF_MEMORY:return\"Not enough memory is left to execute the command\";case r.CONTEXT_LOST_WEBGL:return\"WebGL context is lost\"}return\"Unknown error\"}function n(e,r){return e.vertexBuffers[r].size/o(e.layout[r])}function o(e){return e[0].stride}function R(e,r,t,s,a=0){const c=e.gl,i=e.capabilities.instancing;e.bindBuffer(t);for(const n of s){const e=r.get(n.name);void 0===e&&console.error(`There is no location for vertex attribute '${n.name}' defined.`);const t=a*n.stride;if(n.count<=4)c.vertexAttribPointer(e,n.count,n.type,n.normalized,n.stride,n.offset+t),c.enableVertexAttribArray(e),n.divisor>0&&i&&i.vertexAttribDivisor(e,n.divisor);else if(9===n.count)for(let r=0;r<3;r++)c.vertexAttribPointer(e+r,3,n.type,n.normalized,n.stride,n.offset+12*r+t),c.enableVertexAttribArray(e+r),n.divisor>0&&i&&i.vertexAttribDivisor(e+r,n.divisor);else if(16===n.count)for(let r=0;r<4;r++)c.vertexAttribPointer(e+r,4,n.type,n.normalized,n.stride,n.offset+16*r+t),c.enableVertexAttribArray(e+r),n.divisor>0&&i&&i.vertexAttribDivisor(e+r,n.divisor);else console.error(\"Unsupported vertex attribute element count: \"+n.count)}}function E(e,t,s,a){const c=e.gl,i=e.capabilities.instancing;e.bindBuffer(s);for(const r of a){const e=t.get(r.name);if(r.count<=4)c.disableVertexAttribArray(e),r.divisor&&r.divisor>0&&i&&i.vertexAttribDivisor(e,0);else if(9===r.count)for(let t=0;t<3;t++)c.disableVertexAttribArray(e+t),r.divisor&&r.divisor>0&&i&&i.vertexAttribDivisor(e+t,0);else if(16===r.count)for(let t=0;t<4;t++)c.disableVertexAttribArray(e+t),r.divisor&&r.divisor>0&&i&&i.vertexAttribDivisor(e+t,0);else console.error(\"Unsupported vertex attribute element count: \"+r.count)}e.unbindBuffer(r.ARRAY_BUFFER)}function _(e){switch(e){case c.ALPHA:case c.LUMINANCE:case c.RED:case c.RED_INTEGER:case s.R8:case s.R8I:case s.R8UI:case s.R8_SNORM:case a.STENCIL_INDEX8:return 1;case c.LUMINANCE_ALPHA:case c.RG:case c.RG_INTEGER:case s.RGBA4:case s.R16F:case s.R16I:case s.R16UI:case s.RG8:case s.RG8I:case s.RG8UI:case s.RG8_SNORM:case s.RGB565:case s.RGB5_A1:case a.DEPTH_COMPONENT16:return 2;case c.DEPTH_COMPONENT:case c.RGB:case c.RGB_INTEGER:case s.RGB8:case s.RGB8I:case s.RGB8UI:case s.RGB8_SNORM:case s.SRGB8:case a.DEPTH_COMPONENT24:return 3;case c.DEPTH_STENCIL:case c.RGBA:case c.RGBA_INTEGER:case s.RGBA8:case s.R32F:case s.R11F_G11F_B10F:case s.RG16F:case s.R32I:case s.R32UI:case s.RG16I:case s.RG16UI:case s.RGBA8I:case s.RGBA8UI:case s.RGBA8_SNORM:case s.SRGB8_ALPHA8:case s.RGB9_E5:case s.RGB10_A2UI:case s.RGB10_A2:case a.DEPTH_STENCIL:case a.DEPTH_COMPONENT32F:case a.DEPTH24_STENCIL8:return 4;case a.DEPTH32F_STENCIL8:return 5;case s.RGB16F:case s.RGB16I:case s.RGB16UI:return 6;case s.RG32F:case s.RG32I:case s.RG32UI:case s.RGBA16F:case s.RGBA16I:case s.RGBA16UI:return 8;case s.RGB32F:case s.RGB32I:case s.RGB32UI:return 12;case s.RGBA32F:case s.RGBA32I:case s.RGBA32UI:return 16;case t.COMPRESSED_RGB_S3TC_DXT1_EXT:case t.COMPRESSED_RGBA_S3TC_DXT1_EXT:return.5;case t.COMPRESSED_RGBA_S3TC_DXT3_EXT:case t.COMPRESSED_RGBA_S3TC_DXT5_EXT:return 1;case t.COMPRESSED_R11_EAC:case t.COMPRESSED_SIGNED_R11_EAC:case t.COMPRESSED_RGB8_ETC2:case t.COMPRESSED_SRGB8_ETC2:case t.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:case t.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:return.5;case t.COMPRESSED_RG11_EAC:case t.COMPRESSED_SIGNED_RG11_EAC:case t.COMPRESSED_RGBA8_ETC2_EAC:case t.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:return 1}return 0}function u(r){if(e(r))return 0;if(\"descriptor\"in r)return r.glName?u(r.descriptor):0;const t=r.internalFormat||\"pixelFormat\"in r&&r.pixelFormat;if(!t)return 0;const s=\"hasMipmap\"in r&&r.hasMipmap?1.3:1,a=r.width*r.height;return _(t)*a*s}export{R as bindVertexBufferLayout,_ as getBytesPerElementFormat,i as getErrorString,u as getGpuMemoryUsage,o as getStride,E as unbindVertexBufferLayout,n as vertexCount};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{isSome as t,isNone as o}from\"../../core/maybe.js\";import{webglValidateShadersEnabled as i}from\"./checkWebGLError.js\";import{ContextType as r}from\"./context-util.js\";import{ShaderType as n,ResourceType as e}from\"./enums.js\";import{transpileShader as s}from\"./ShaderTranspiler.js\";const m=4294967295;class a{constructor(t,o,m,a,h=new Map){this._context=t,this._locations=a,this._uniformBlockBindings=h,this._refCount=1,this._compiled=!1,this._nameToUniformLocation={},this._nameToUniform1={},this._nameToUniform1v={},this._nameToUniform2={},this._nameToUniform3={},this._nameToUniform4={},this._nameToUniformMatrix3={},this._nameToUniformMatrix4={},t||console.error(\"RenderingContext isn't initialized!\"),0===o.length&&console.error(\"Shaders source should not be empty!\"),this._context.type===r.WEBGL2&&(o=s(o,n.VERTEX_SHADER),m=s(m,n.FRAGMENT_SHADER)),this._vShader=f(this._context,n.VERTEX_SHADER,o),this._fShader=f(this._context,n.FRAGMENT_SHADER,m),this._vShader&&this._fShader||console.error(\"Error loading shaders!\"),this._context.instanceCounter.increment(e.Shader,this),i()&&(this.vertexShader=o,this.fragmentShader=m)}get glName(){if(t(this._glName))return this._glName;if(o(this._vShader))return null;const n=this._context.gl,s=n.createProgram();if(n.attachShader(s,this._vShader),n.attachShader(s,this._fShader),this._locations.forEach(((t,o)=>n.bindAttribLocation(s,t,o))),n.linkProgram(s),i()&&!n.getProgramParameter(s,n.LINK_STATUS)&&console.error(`Could not link shader\\nvalidated: ${n.getProgramParameter(s,n.VALIDATE_STATUS)}, gl error ${n.getError()}, vertex: ${n.getShaderParameter(this._vShader,n.COMPILE_STATUS)}, fragment: ${n.getShaderParameter(this._fShader,n.COMPILE_STATUS)}, info log: ${n.getProgramInfoLog(s)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`),this._context.type===r.WEBGL2){const t=n;for(const[o,i]of this._uniformBlockBindings){const r=t.getUniformBlockIndex(s,o);r0)return;const t=this._context.gl;this._vShader&&(t.deleteShader(this._vShader),this._vShader=null,this._context.instanceCounter.decrement(e.Shader,this)),this._fShader&&(t.deleteShader(this._fShader),this._fShader=null),this._glName&&(t.deleteProgram(this._glName),this._glName=null,this._context.instanceCounter.decrement(e.Program,this))}ref(){++this._refCount}_getUniformLocation(t){return void 0===this._nameToUniformLocation[t]&&(this._nameToUniformLocation[t]=this._context.gl.getUniformLocation(this.glName,t)),this._nameToUniformLocation[t]}hasUniform(t){return null!==this._getUniformLocation(t)}setUniform1i(t,o){const i=this._nameToUniform1[t];if(void 0===i||o!==i){this._context.gl.uniform1i(this._getUniformLocation(t),o),this._nameToUniform1[t]=o}}setUniform1iv(t,o){const i=this._nameToUniform1v[t];if(h(i,o)){this._context.gl.uniform1iv(this._getUniformLocation(t),o),void 0===i?this._nameToUniform1v[t]=Array.from(o):l(o,i)}}setUniform2iv(t,o){const i=this._nameToUniform2[t];if(h(i,o)){this._context.gl.uniform2iv(this._getUniformLocation(t),o),void 0===i?this._nameToUniform2[t]=Array.from(o):l(o,i)}}setUniform3iv(t,o){const i=this._nameToUniform3[t];if(h(i,o)){this._context.gl.uniform3iv(this._getUniformLocation(t),o),void 0===i?this._nameToUniform3[t]=Array.from(o):l(o,i)}}setUniform4iv(t,o){const i=this._nameToUniform4[t];if(h(i,o)){this._context.gl.uniform4iv(this._getUniformLocation(t),o),void 0===i?this._nameToUniform4[t]=Array.from(o):l(o,i)}}setUniform1f(t,o){const i=this._nameToUniform1[t];if(void 0===i||o!==i){this._context.gl.uniform1f(this._getUniformLocation(t),o),this._nameToUniform1[t]=o}}setUniform1fv(t,o){const i=this._nameToUniform1v[t];if(h(i,o)){this._context.gl.uniform1fv(this._getUniformLocation(t),o),void 0===i?this._nameToUniform1v[t]=Array.from(o):l(o,i)}}setUniform2f(t,o,i){const r=this._nameToUniform2[t];if(void 0===r||o!==r[0]||i!==r[1]){this._context.gl.uniform2f(this._getUniformLocation(t),o,i),void 0===r?this._nameToUniform2[t]=[o,i]:(r[0]=o,r[1]=i)}}setUniform2fv(t,o){const i=this._nameToUniform2[t];if(h(i,o)){this._context.gl.uniform2fv(this._getUniformLocation(t),o),void 0===i?this._nameToUniform2[t]=Array.from(o):l(o,i)}}setUniform3f(t,o,i,r){const n=this._nameToUniform3[t];if(void 0===n||o!==n[0]||i!==n[1]||r!==n[2]){this._context.gl.uniform3f(this._getUniformLocation(t),o,i,r),void 0===n?this._nameToUniform3[t]=[o,i,r]:(n[0]=o,n[1]=i,n[2]=r)}}setUniform3fv(t,o){const i=this._nameToUniform3[t];if(h(i,o)){this._context.gl.uniform3fv(this._getUniformLocation(t),o),void 0===i?this._nameToUniform3[t]=Array.from(o):l(o,i)}}setUniform4f(t,o,i,r,n){const e=this._nameToUniform4[t];if(void 0===e||o!==e[0]||i!==e[1]||r!==e[2]||n!==e[3]){this._context.gl.uniform4f(this._getUniformLocation(t),o,i,r,n),void 0===e?this._nameToUniform4[t]=[o,i,r,n]:(e[0]=o,e[1]=i,e[2]=r,e[3]=n)}}setUniform4fv(t,o){const i=this._nameToUniform4[t];if(h(i,o)){this._context.gl.uniform4fv(this._getUniformLocation(t),o),void 0===i?this._nameToUniform4[t]=Array.from(o):l(o,i)}}setUniformMatrix3fv(t,o,i=!1){const r=this._nameToUniformMatrix3[t];if(g(r,o)){this._context.gl.uniformMatrix3fv(this._getUniformLocation(t),i,o),void 0===r?this._nameToUniformMatrix3[t]=Array.from(o):l(o,r)}}setUniformMatrix4fv(t,o,i=!1){const r=this._nameToUniformMatrix4[t];if(d(r,o)){this._context.gl.uniformMatrix4fv(this._getUniformLocation(t),i,o),void 0===r?this._nameToUniformMatrix4[t]=Array.from(o):l(o,r)}}stop(){}}function h(t,i){if(o(t)||t.length!==i.length)return!0;for(let o=0;o\"\\n\"+c(o++)+\":\"))}function c(t){return t>=1e3?t.toString():(\" \"+t).slice(-3)}function l(t,o){for(let i=0;i>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"];void 0!==t&&(i.exports=t)}();const s=l.exports;var c={exports:{}};!function(e){!function(t){var r=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\"]}();void 0!==r&&(e.exports=r)}()}(c);const d=c.exports;var u=999,g=9999,p=0,f=1,_=2,h=3,x=4,m=5,y=6,w=7,M=8,v=9,T=10,b=11,P=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function E(){var e,t,r,a=0,o=0,i=u,l=[],c=[],E=1,C=0,k=0,D=!1,j=!1,F=\"\";return function(e){return c=[],null!==e?S(e.replace?e.replace(/\\r\\n/g,\"\\n\"):e):R()};function L(e){e.length&&c.push({type:P[i],data:e,position:k,line:E,column:C})}function S(t){var n;for(a=0,r=(F+=t).length;e=F[a],a0)continue;r=e.slice(0,1).join(\"\")}return L(r),k+=r.length,(l=l.slice(r.length)).length}}function B(){return/[^a-fA-F0-9]/.test(e)?(L(l.join(\"\")),i=u,a):(l.push(e),t=e,a+1)}function H(){return\".\"===e||/[eE]/.test(e)?(l.push(e),i=m,t=e,a+1):\"x\"===e&&1===l.length&&\"0\"===l[0]?(i=b,l.push(e),t=e,a+1):/[^\\d]/.test(e)?(L(l.join(\"\")),i=u,a):(l.push(e),t=e,a+1)}function N(){return\"f\"===e&&(l.push(e),t=e,a+=1),/[eE]/.test(e)||\"-\"===e&&/[eE]/.test(t)?(l.push(e),t=e,a+1):/[^\\d]/.test(e)?(L(l.join(\"\")),i=u,a):(l.push(e),t=e,a+1)}function U(){if(/[^\\d\\w_]/.test(e)){var r=l.join(\"\");return i=n.indexOf(r)>-1?M:d.indexOf(r)>-1?w:y,L(l.join(\"\")),i=u,a}return l.push(e),t=e,a+1}}function C(e){var t=E(),r=[];return r=(r=r.concat(t(e))).concat(t(null))}function k(e){return C(e)}function D(e){return e.map((e=>\"eof\"!==e.type?e.data:\"\")).join(\"\")}const j=[\"GL_OES_standard_derivatives\",\"GL_EXT_frag_depth\",\"GL_EXT_draw_buffers\",\"GL_EXT_shader_texture_lod\"];function F(e,t=\"100\",r=\"300 es\"){const a=/^\\s*\\#version\\s+([0-9]+(\\s+[a-zA-Z]+)?)\\s*/;for(const o of e)if(\"preprocessor\"===o.type){const e=a.exec(o.data);if(e){const a=e[1].replace(/\\s\\s+/g,\" \");if(a===r)return a;if(a===t)return o.data=\"#version \"+r,t;throw new Error(\"unknown glsl version: \"+a)}}return e.splice(0,0,{type:\"preprocessor\",data:\"#version \"+r},{type:\"whitespace\",data:\"\\n\"}),null}function L(e,t){for(let r=t-1;r>=0;r--){const t=e[r];if(\"whitespace\"!==t.type&&\"block-comment\"!==t.type){if(\"keyword\"!==t.type)break;if(\"attribute\"===t.data||\"in\"===t.data)return!0}}return!1}function S(e,t,r,a){a=a||r;for(const o of e)if(\"ident\"===o.type&&o.data===r){a in t?t[a]++:t[a]=0;return S(e,t,a+\"_\"+t[a],a)}return r}function R(e,t,r=\"afterVersion\"){function a(e,t){for(let r=t;rt=0){if(o===t.VERTEX_SHADER&&L(i,e))throw new Error(\"attribute in vertex shader uses a name that is a reserved word in glsl 300 es\");a.data in d||(d[a.data]=S(i,c,a.data)),a.data=d[a.data]}}}for(let e=i.length-1;e>=0;--e){const t=i[e];if(\"preprocessor\"===t.type){const r=t.data.match(/\\#extension\\s+(.*)\\:/);if(r&&r[1]&&j.indexOf(r[1].trim())>=0){const t=i[e+1];i.splice(e,t&&\"whitespace\"===t.type?2:1)}const a=t.data.match(/\\#ifdef\\s+(.*)/);a&&a[1]&&j.indexOf(a[1].trim())>=0&&(t.data=\"#if 1\");const o=t.data.match(/\\#ifndef\\s+(.*)/);o&&o[1]&&j.indexOf(o[1].trim())>=0&&(t.data=\"#if 0\")}}return B(a,D(i))}const I={enableCache:!1},O=new Map;function q(e){return I.enableCache?O.get(e):null}function B(e,t){return I.enableCache&&O.set(e,t),t}export{I as test,G as transpileShader};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.23/esri/copyright.txt for details.\n*/\nimport t from\"../../core/Logger.js\";import{isSome as e,isNone as i}from\"../../core/maybe.js\";import{BufferObject as r}from\"./BufferObject.js\";import{webglDebugEnabled as s,webglValidateShadersEnabled as h}from\"./checkWebGLError.js\";import{ContextType as n}from\"./context-util.js\";import{ResourceType as c,ColorAttachment as o,DepthStencilTargetType as _,PixelFormat as a,PixelType as l,DepthStencilAttachment as T,RenderbufferFormat as E,FramebufferTarget as d,TextureType as u,Usage as f,BufferType as m,TargetType as A,TextureSamplingMode as p,TextureWrapMode as R,SizedPixelFormat as N}from\"./enums.js\";import{Renderbuffer as g}from\"./Renderbuffer.js\";import{Texture as F}from\"./Texture.js\";import{getGpuMemoryUsage as x}from\"./Util.js\";const b=t.getLogger(\"esri.views.webgl.FrameBufferObject\");class D{constructor(t,i,r=null,s=null){if(this._context=t,this._glName=null,this._depthAttachment=null,this._stencilAttachment=null,this._colorAttachments=new Map,this._initialized=!1,this._desc={...i},t.instanceCounter.increment(c.Framebuffer,this),e(r)){Array.isArray(r)||(r=[r]);for(let t=0;tt+x(i)),0)+x(this.depthStencilAttachment)}getColorTexture(t){const e=this._colorAttachments.get(t);return e&&C(e)?e:null}attachColorTexture(t,e=o.COLOR_ATTACHMENT0){if(!t)return;this._validateColorAttachmentPoint(e);P(t.descriptor,this._desc),this._disposeColorAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(t.glName,e)),this._colorAttachments.set(e,t)}detachColorTexture(t=o.COLOR_ATTACHMENT0){const e=this._colorAttachments.get(t);if(C(e)){const i=e;return this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,t)),this._colorAttachments.delete(t),i}}setColorTextureTarget(t,e=o.COLOR_ATTACHMENT0){const i=this._colorAttachments.get(e);C(i)&&this._framebufferTexture2D(i.glName,e,t)}attachDepthStencilTexture(t){if(i(t))return;const e=t.descriptor;e.pixelFormat!==a.DEPTH_STENCIL&&console.error(\"Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!\"),e.dataType!==l.UNSIGNED_INT_24_8&&console.error(\"Depth/Stencil texture must have data type of UNSIGNED_INT_24_8!\"),this._context.capabilities.depthTexture||console.error(\"Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture!\"),P(e,this._desc),this._desc.depthStencilTarget&&this._desc.depthStencilTarget!==_.DEPTH_STENCIL_TEXTURE&&(this._desc.depthStencilTarget=_.DEPTH_STENCIL_TEXTURE),this._disposeDepthStencilAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(t.glName,T)),this._depthStencilTexture=t}detachDepthStencilTexture(){const t=this._depthStencilTexture;return t&&this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,T)),this._depthStencilTexture=null,t}attachDepthStencilBuffer(t){if(i(t))return;const e=t.descriptor;if(e.internalFormat!==E.DEPTH_STENCIL&&e.internalFormat!==E.DEPTH_COMPONENT16&&console.error(\"Depth/Stencil buffer must have correct internalFormat\"),B(e,this._desc),this._disposeDepthStencilAttachments(),this._desc.depthStencilTarget=e.internalFormat===E.DEPTH_STENCIL?_.DEPTH_STENCIL_RENDER_BUFFER:_.DEPTH_RENDER_BUFFER,this._initialized){this._context.bindFramebuffer(this);const e=this._context.gl,i=this._desc.depthStencilTarget===_.DEPTH_RENDER_BUFFER?e.DEPTH_ATTACHMENT:e.DEPTH_STENCIL_ATTACHMENT;e.framebufferRenderbuffer(d.FRAMEBUFFER,i,e.RENDERBUFFER,t.glName)}this._depthAttachment=t}detachDepthStencilBuffer(){const t=this._context.gl,e=this._depthAttachment;if(e&&this._initialized){this._context.bindFramebuffer(this);const e=this._desc.depthStencilTarget===_.DEPTH_RENDER_BUFFER?t.DEPTH_ATTACHMENT:t.DEPTH_STENCIL_ATTACHMENT;t.framebufferRenderbuffer(d.FRAMEBUFFER,e,t.RENDERBUFFER,null)}return this._depthAttachment=null,e}detachAll(){this._colorAttachments.forEach(((t,e)=>this._detachColorAttachment(e))),this.detachDepthStencilBuffer(),this.detachDepthStencilTexture()}copyToTexture(t,e,i,r,s,h,n){(t<0||e<0||s<0||h<0)&&console.error(\"Offsets cannot be negative!\"),(i<=0||r<=0)&&console.error(\"Copy width and height must be greater than zero!\");const c=this._desc,o=n.descriptor;n.descriptor.target!==u.TEXTURE_2D&&console.error(\"Texture target must be TEXTURE_2D!\"),(t+i>c.width||e+r>c.height||s+i>o.width||h+r>o.height)&&console.error(\"Bad dimensions, the current input values will attempt to read or copy out of bounds!\");const _=this._context,a=_.bindTexture(n,F.TEXTURE_UNIT_FOR_UPDATES);_.setActiveTexture(F.TEXTURE_UNIT_FOR_UPDATES),_.bindFramebuffer(this),_.gl.copyTexSubImage2D(u.TEXTURE_2D,0,s,h,t,e,i,r),_.bindTexture(a,F.TEXTURE_UNIT_FOR_UPDATES)}readPixels(t,e,i,r,s,h,n){(i<=0||r<=0)&&console.error(\"Copy width and height must be greater than zero!\"),n||console.error(\"Target memory is not initialized!\"),this._context.bindFramebuffer(this);this._context.gl.readPixels(t,e,i,r,s,h,n)}async readPixelsAsync(t,e,i,h,c,o,_){if(this._context.type!==n.WEBGL2)return s()&&console.warn(\"Attempting to read pixels using pixel buffer object without WebGL2\"),void this.readPixels(t,e,i,h,c,o,_);const a=this._context.gl,l=r.createPixelPack(this._context,f.STREAM_READ,_.byteLength);this._context.bindBuffer(l),this._context.bindFramebuffer(this),a.readPixels(t,e,i,h,c,o,0),this._context.unbindBuffer(m.PIXEL_PACK_BUFFER),await l.getSubDataAsync(_),l.dispose()}resize(t,e){const i=this._desc;if(i.width!==t||i.height!==e){if(!this._initialized)return i.width=t,i.height=e,this._colorAttachments.forEach((i=>{i&&i.resize(t,e)})),void(this._depthStencilTexture&&this._depthStencilTexture.resize(t,e));i.width=t,i.height=e,this._colorAttachments.forEach((i=>{i&&i.resize(t,e)})),null!=this._depthStencilTexture?this._depthStencilTexture.resize(t,e):(this._depthAttachment||this._stencilAttachment)&&(this._depthAttachment&&this._depthAttachment.resize(t,e),this._stencilAttachment&&this._stencilAttachment.resize(t,e)),this._context.getBoundFramebufferObject()===this&&this._context.bindFramebuffer(null),this._initialized=!1}}initializeAndBind(t=d.FRAMEBUFFER){var e,i,r,s;const n=this._context.gl;if(this._initialized)return void n.bindFramebuffer(t,this.glName);this._glName&&n.deleteFramebuffer(this._glName);const c=this._context,T=n.createFramebuffer(),f=this._desc,m=null!=(e=f.colorTarget)?e:A.RENDER_BUFFER,x=null!=(i=f.width)?i:1,b=null!=(r=f.height)?r:1;if(n.bindFramebuffer(t,T),0===this._colorAttachments.size)if(m===A.TEXTURE||m===A.CUBEMAP)this._colorAttachments.set(o.COLOR_ATTACHMENT0,H(c,f,this.descriptor.colorTarget===A.CUBEMAP?u.TEXTURE_CUBE_MAP:u.TEXTURE_2D));else{const t=new g(c,{internalFormat:N.RGBA4,width:x,height:b});this._colorAttachments.set(o.COLOR_ATTACHMENT0,t)}this._colorAttachments.forEach(((e,i)=>{e&&(C(e)?this._framebufferTexture2D(e.glName,i,M(e),t):n.framebufferRenderbuffer(t,i,n.RENDERBUFFER,e.glName))}));const D=null!=(s=f.depthStencilTarget)?s:_.NONE;switch(D){case _.DEPTH_RENDER_BUFFER:case _.DEPTH_STENCIL_RENDER_BUFFER:{this._depthAttachment||(this._depthAttachment=new g(c,{internalFormat:f.depthStencilTarget===_.DEPTH_RENDER_BUFFER?E.DEPTH_COMPONENT16:E.DEPTH_STENCIL,width:x,height:b}));const e=D===_.DEPTH_RENDER_BUFFER?n.DEPTH_ATTACHMENT:n.DEPTH_STENCIL_ATTACHMENT;n.framebufferRenderbuffer(t,e,n.RENDERBUFFER,this._depthAttachment.glName);break}case _.STENCIL_RENDER_BUFFER:this._stencilAttachment||(this._stencilAttachment=new g(c,{internalFormat:E.STENCIL_INDEX8,width:x,height:b})),n.framebufferRenderbuffer(t,n.STENCIL_ATTACHMENT,n.RENDERBUFFER,this._stencilAttachment.glName);break;case _.DEPTH_STENCIL_TEXTURE:if(!this._depthStencilTexture){c.capabilities.depthTexture||console.error(\"Extension WEBGL_depth_texture isn't supported therefore it is no possible to set the depth/stencil texture as an attachment!\");const t={target:u.TEXTURE_2D,pixelFormat:a.DEPTH_STENCIL,dataType:l.UNSIGNED_INT_24_8,samplingMode:p.NEAREST,wrapMode:R.CLAMP_TO_EDGE,width:x,height:b};this._depthStencilTexture=new F(c,t)}this._framebufferTexture2D(this._depthStencilTexture.glName,n.DEPTH_STENCIL_ATTACHMENT,M(this._depthStencilTexture),t)}if(h()){n.checkFramebufferStatus(t)!==n.FRAMEBUFFER_COMPLETE&&console.error(\"Framebuffer is incomplete!\")}this._glName=T,this._initialized=!0}_framebufferTexture2D(t,e=o.COLOR_ATTACHMENT0,i=u.TEXTURE_2D,r=d.FRAMEBUFFER,s=0){this._context.gl.framebufferTexture2D(r,e,i,t,s)}_detachColorAttachment(t){s()&&console.warn(\"Detaching an FBO attachment can be a slow due to invalidating framebuffer completeness!\");const e=this._context.gl,i=this._colorAttachments.get(t);return C(i)?this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,t)):this._initialized&&(this._context.bindFramebuffer(this),e.framebufferRenderbuffer(d.FRAMEBUFFER,t,e.RENDERBUFFER,null)),this._colorAttachments.delete(t),i}_disposeColorAttachments(){this._colorAttachments.forEach(((t,e)=>{this._detachColorAttachment(e),t.dispose()})),this._colorAttachments.clear()}_disposeDepthStencilAttachments(){const t=this._context.gl;if(this._depthAttachment){if(this._initialized){this._context.bindFramebuffer(this);const e=this._desc.depthStencilTarget===_.DEPTH_RENDER_BUFFER?t.DEPTH_ATTACHMENT:t.DEPTH_STENCIL_ATTACHMENT;t.framebufferRenderbuffer(d.FRAMEBUFFER,e,t.RENDERBUFFER,null)}this._depthAttachment.dispose(),this._depthAttachment=null}this._stencilAttachment&&(this._initialized&&(this._context.bindFramebuffer(this),t.framebufferRenderbuffer(d.FRAMEBUFFER,t.STENCIL_ATTACHMENT,t.RENDERBUFFER,null)),this._stencilAttachment.dispose(),this._stencilAttachment=null),this._depthStencilTexture&&(this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,t.DEPTH_STENCIL_ATTACHMENT)),this._depthStencilTexture.dispose(),this._depthStencilTexture=null)}_validateColorAttachmentPoint(t){if(-1===D._MAX_COLOR_ATTACHMENTS){const t=this._context.capabilities.drawBuffers;if(t){const e=this._context.gl;D._MAX_COLOR_ATTACHMENTS=e.getParameter(t.MAX_COLOR_ATTACHMENTS)}else D._MAX_COLOR_ATTACHMENTS=1}const e=t-o.COLOR_ATTACHMENT0;e+1>D._MAX_COLOR_ATTACHMENTS&&b.error(\"esri.FrameBufferObject\",`illegal attachment point for color attachment: ${e+1}. Implementation supports up to ${D._MAX_COLOR_ATTACHMENTS} color attachments`)}}function C(t){return\"type\"in t&&\"texture\"===t.type}function S(t){return\"type\"in t&&\"renderbuffer\"===t.type}function U(t){return C(t)||\"pixelFormat\"in t}function H(t,e,i){return new F(t,{target:i,pixelFormat:a.RGBA,dataType:l.UNSIGNED_BYTE,samplingMode:p.NEAREST,wrapMode:R.CLAMP_TO_EDGE,width:e.width,height:e.height})}function P(t,e){t.target!==u.TEXTURE_2D&&t.target!==u.TEXTURE_CUBE_MAP&&console.error(\"Texture type must be TEXTURE_2D or TEXTURE_CUBE_MAP!\"),void 0!==e.width&&e.width>=0&&void 0!==e.height&&e.height>=0?e.width===t.width&&e.height===t.height||console.error(\"Color attachment texture must match the framebuffer's!\"):(e.width=t.width,e.height=t.height)}function B(t,e){void 0!==e.width&&e.width>=0&&void 0!==e.height&&e.height>=0?e.width===t.width&&e.height===t.height||console.error(\"Renderbuffer dimensions must match the framebuffer's!\"):(e.width=t.width,e.height=t.height)}function M(t){return t.descriptor.target===u.TEXTURE_CUBE_MAP?u.TEXTURE_CUBE_MAP_POSITIVE_X:u.TEXTURE_2D}D._MAX_COLOR_ATTACHMENTS=-1;export{D as FramebufferObject};\n"],"sourceRoot":""}