{"version":3,"sources":["../node_modules/@arcgis/core/views/webgl/BufferObject.js","../node_modules/@arcgis/core/views/webgl/VertexArrayObject.js","../node_modules/@arcgis/core/views/webgl/FramebufferObject.js","../node_modules/@arcgis/core/views/webgl/Renderbuffer.js","../node_modules/@arcgis/core/views/webgl/Util.js"],"names":["c","t","getLogger","b","e","E","r","i","this","_context","bufferType","usage","_glName","_size","_indexType","instanceCounter","increment","f","BufferObject","gl","createBuffer","o","setData","get","u","ELEMENT_ARRAY_BUFFER","h","UNSIGNED_INT","ARRAY_BUFFER","deleteBuffer","decrement","warn","error","UNSIGNED_SHORT","_setBufferData","byteLength","s","n","getBoundVAO","_isVAOAware","bindVAO","bindBuffer","bufferData","type","a","WEBGL2","bufferSubData","BYTES_PER_ELEMENT","length","subarray","byteSize","COPY_READ_BUFFER","getBufferSubData","unbindBuffer","clientWaitAsync","getSubData","Error","UNIFORM_BUFFER","_","STREAM_READ","PIXEL_PACK_BUFFER","setSize","STREAM_DRAW","PIXEL_UNPACK_BUFFER","_locations","_layout","_buffers","_indexBuffer","_initialized","VertexArrayObject","Object","keys","reduce","size","capabilities","vao","deleteVertexArray","dispose","getOwnPropertyNames","createVertexArray","bindVertexArray","_bindLayout","initialize","glName","_unbindLayout","x","_depthAttachment","_stencilAttachment","_colorAttachments","Map","_depthStencilTexture","_desc","FramebufferObject","Array","isArray","COLOR_ATTACHMENT0","C","descriptor","set","N","U","D","g","H","_validateColorAttachmentPoint","depthTexture","console","depthStencilTarget","DEPTH_STENCIL_RENDER_BUFFER","STENCIL_RENDER_BUFFER","DEPTH_RENDER_BUFFER","getBoundFramebufferObject","_disposeColorAttachments","_disposeDepthStencilAttachments","deleteFramebuffer","bindFramebuffer","width","height","F","depthStencilAttachment","_framebufferTexture2D","delete","pixelFormat","DEPTH_STENCIL","dataType","UNSIGNED_INT_24_8","DEPTH_STENCIL_TEXTURE","l","internalFormat","T","DEPTH_COMPONENT16","DEPTH_ATTACHMENT","DEPTH_STENCIL_ATTACHMENT","framebufferRenderbuffer","FRAMEBUFFER","RENDERBUFFER","forEach","_detachColorAttachment","detachDepthStencilBuffer","detachDepthStencilTexture","target","d","TEXTURE_2D","bindTexture","TEXTURE_UNIT_FOR_UPDATES","setActiveTexture","copyTexSubImage2D","readPixels","createPixelPack","getSubDataAsync","resize","createFramebuffer","colorTarget","m","RENDER_BUFFER","TEXTURE","CUBEMAP","S","TEXTURE_CUBE_MAP","A","RGBA4","P","NONE","STENCIL_INDEX8","STENCIL_ATTACHMENT","samplingMode","p","NEAREST","wrapMode","R","CLAMP_TO_EDGE","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","framebufferTexture2D","clear","_MAX_COLOR_ATTACHMENTS","drawBuffers","getParameter","MAX_COLOR_ATTACHMENTS","RGBA","UNSIGNED_BYTE","TEXTURE_CUBE_MAP_POSITIVE_X","Renderbuffer","createRenderbuffer","bindRenderbuffer","multisampled","renderbufferStorageMultisample","samples","renderbufferStorage","parameters","maxSamples","Math","min","deleteRenderbuffer","getError","NO_ERROR","INVALID_ENUM","INVALID_VALUE","INVALID_OPERATION","INVALID_FRAMEBUFFER_OPERATION","OUT_OF_MEMORY","CONTEXT_LOST_WEBGL","vertexBuffers","stride","layout","instancing","name","count","vertexAttribPointer","normalized","offset","enableVertexAttribArray","divisor","vertexAttribDivisor","disableVertexAttribArray","ALPHA","LUMINANCE","RED","RED_INTEGER","R8","R8I","R8UI","R8_SNORM","LUMINANCE_ALPHA","RG","RG_INTEGER","R16F","R16I","R16UI","RG8","RG8I","RG8UI","RG8_SNORM","RGB565","RGB5_A1","DEPTH_COMPONENT","RGB","RGB_INTEGER","RGB8","RGB8I","RGB8UI","RGB8_SNORM","SRGB8","DEPTH_COMPONENT24","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","hasMipmap"],"mappings":"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","file":"static/js/10.f7be3eb6.chunk.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{isArrayLike as e}from\"../../core/arrayUtils.js\";import t from\"../../core/Logger.js\";import{nullifyNonNullableForDispose as r,isSome as i}from\"../../core/maybe.js\";import{isUint16Array as s,isUint32Array as n}from\"../../core/typedArrayUtil.js\";import{checkWebGLError as o}from\"./checkWebGLError.js\";import{ContextType as a}from\"./context-util.js\";import{ResourceType as f,BufferType as u,Usage as _,DataType as h}from\"./enums.js\";const c=t.getLogger(\"esri.views.webgl.BufferObject\");function b(t){return e(t)}class E{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(f.BufferObject,this),this._glName=this._context.gl.createBuffer(),o(this._context.gl),i&&this.setData(i)}static createIndex(e,t,r){return new E(e,u.ELEMENT_ARRAY_BUFFER,t,r)}static createVertex(e,t,r){return new E(e,u.ARRAY_BUFFER,t,r)}static createUniform(e,t,r){if(e.type!==a.WEBGL2)throw new Error(\"Uniform buffers are supported in WebGL2 only!\");return new E(e,u.UNIFORM_BUFFER,t,r)}static createPixelPack(e,t=_.STREAM_READ,r){if(e.type!==a.WEBGL2)throw new Error(\"Pixel pack buffers are supported in WebGL2 only!\");const i=new E(e,u.PIXEL_PACK_BUFFER,t);return r&&i.setSize(r),i}static createPixelUnpack(e,t=_.STREAM_DRAW,r){if(e.type!==a.WEBGL2)throw new Error(\"Pixel unpack buffers are supported in WebGL2 only!\");return new E(e,u.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===u.ELEMENT_ARRAY_BUFFER?this._indexType===h.UNSIGNED_INT?4*this._size:2*this._size:this._size}get _isVAOAware(){return this.bufferType===u.ELEMENT_ARRAY_BUFFER||this.bufferType===u.ARRAY_BUFFER}dispose(){if(this._context?.gl){if(this._glName){this._context.gl.deleteBuffer(this._glName),this._glName=null}this._context.instanceCounter.decrement(f.BufferObject,this),this._context=r(this._context)}else this._glName&&c.warn(\"Leaked WebGL buffer object\")}setSize(e,t=null){if(e<=0&&c.error(\"Buffer size needs to be positive!\"),this.bufferType===u.ELEMENT_ARRAY_BUFFER&&i(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===u.ELEMENT_ARRAY_BUFFER&&(s(e)&&(t/=2,this._indexType=h.UNSIGNED_SHORT),n(e)&&(t/=4,this._indexType=h.UNSIGNED_INT)),this._setBufferData(t,e)}_setBufferData(e,t=null){this._size=e;const r=this._context.getBoundVAO();this._isVAOAware&&this._context.bindVAO(null),this._context.bindBuffer(this);const s=this._context.gl;i(t)?s.bufferData(this.bufferType,t,this.usage):s.bufferData(this.bufferType,e,this.usage),o(s),this._isVAOAware&&this._context.bindVAO(r)}setSubData(e,t,r,i){if(!e)return;(t<0||t>=this._size)&&c.error(\"offset is out of range!\"),r>=i&&c.error(\"end must be bigger than start!\"),t+(i-r)>this._size&&c.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 n=this._context.gl;if(this._context.type===a.WEBGL2)n.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);n.bufferSubData(this.bufferType,t*e.BYTES_PER_ELEMENT,s)}o(n),this._isVAOAware&&this._context.bindVAO(s)}getSubData(e,t=0,r,i){if(this._context.type!==a.WEBGL2)return void c.error(\"Get buffer subdata is supported in WebGL2 only!\");if(r<0||i<0)return void c.error(\"Problem getting subdata: offset and length were less than zero!\");const s=b(e)?e.BYTES_PER_ELEMENT:1;if(s*((r??0)+(i??0))>e.byteLength)return void c.error(\"Problem getting subdata: offset and length exceeded destination size!\");t+s*(i??0)>this.byteSize&&c.warn(\"Potential problem getting subdata: requested data exceeds buffer size!\");const n=this._context.gl;this._context.bindBuffer(this,u.COPY_READ_BUFFER),n.getBufferSubData(u.COPY_READ_BUFFER,t,e,r,i),this._context.unbindBuffer(u.COPY_READ_BUFFER)}async getSubDataAsync(e,t=0,r,i){this._context.type===a.WEBGL2?(await this._context.clientWaitAsync(),this.getSubData(e,t,r,i)):c.error(\"Get buffer subdata is supported in WebGL2 only!\")}}export{E as BufferObject};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport t from\"../../core/Logger.js\";import{isSome as e,disposeMaybe as i,nullifyNonNullableForDispose as r}from\"../../core/maybe.js\";import{ResourceType as s}from\"./enums.js\";import{bindVertexBufferLayout as n,unbindVertexBufferLayout as o}from\"./Util.js\";const f=t.getLogger(\"esri.views.webgl.VertexArrayObject\");class a{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.VertexArrayObject,this)}get glName(){return this._glName}get context(){return this._context}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)&&f.warn(\"Leaked WebGL VAO\"));if(this._glName){const t=this._context?.capabilities?.vao;t?(t.deleteVertexArray(this._glName),this._glName=null):f.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.VertexArrayObject,this),this._context=r(this._context)}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:r}=this;t||f.error(\"Vertex buffer dictionary is empty!\");const s=this._context.gl;for(const e in t){const r=t[e];r||f.error(\"Vertex buffer is uninitialized!\");const s=i[e];s||f.error(\"Vertex element descriptor is empty!\"),n(this._context,this._locations,r,s)}if(e(r)){!!this._context.capabilities.vao?s.bindBuffer(s.ELEMENT_ARRAY_BUFFER,r.glName):this._context.bindBuffer(r)}}unbind(){this.initialize();const t=this._context.capabilities.vao;t?t.bindVertexArray(null):this._unbindLayout()}_unbindLayout(){const{_buffers:t,_layout:i}=this;t||f.error(\"Vertex buffer dictionary is empty!\");for(const e in t){const r=t[e];r||f.error(\"Vertex buffer is uninitialized!\");const s=i[e];o(this._context,this._locations,r,s)}e(this._indexBuffer)&&this._context.unbindBuffer(this._indexBuffer.bufferType)}}export{a as VertexArrayObject};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/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 h}from\"./checkWebGLError.js\";import{ContextType as s}from\"./context-util.js\";import{ResourceType as n,ColorAttachment as c,DepthStencilTargetType as o,PixelFormat as _,PixelType as a,DepthStencilAttachment as l,RenderbufferFormat as T,FramebufferTarget as E,TextureType as d,Usage as u,BufferType as f,TargetType as m,SizedPixelFormat as A,TextureSamplingMode as p,TextureWrapMode as R}from\"./enums.js\";import{Renderbuffer as g}from\"./Renderbuffer.js\";import{Texture as N}from\"./Texture.js\";import{getGpuMemoryUsage as F}from\"./Util.js\";class x{constructor(t,i,r=null,h=null){if(this._context=t,this._glName=null,this._depthAttachment=null,this._stencilAttachment=null,this._colorAttachments=new Map,this._depthStencilTexture=null,this._initialized=!1,this._desc={...i},t.instanceCounter.increment(n.FramebufferObject,this),e(r)){Array.isArray(r)||(r=[r]);for(let t=0;tt+F(i)),0)+F(this.depthStencilAttachment)}getColorTexture(t){const e=this._colorAttachments.get(t);return e&&b(e)?e:null}attachColorTexture(t,e=c.COLOR_ATTACHMENT0){if(!t)return;this._validateColorAttachmentPoint(e);U(t.descriptor,this._desc),this._disposeColorAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(t.glName,e)),this._colorAttachments.set(e,t)}detachColorTexture(t=c.COLOR_ATTACHMENT0){const e=this._colorAttachments.get(t);if(b(e)){const i=e;return this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,t)),this._colorAttachments.delete(t),i}}setColorTextureTarget(t,e=c.COLOR_ATTACHMENT0){const i=this._colorAttachments.get(e);b(i)&&this._framebufferTexture2D(i.glName,e,t)}attachDepthStencilTexture(t){if(i(t))return;const e=t.descriptor;e.pixelFormat!==_.DEPTH_STENCIL&&console.error(\"Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!\"),e.dataType!==a.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!\"),U(e,this._desc),this._desc.depthStencilTarget&&this._desc.depthStencilTarget!==o.DEPTH_STENCIL_TEXTURE&&(this._desc.depthStencilTarget=o.DEPTH_STENCIL_TEXTURE),this._disposeDepthStencilAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(t.glName,l)),this._depthStencilTexture=t}detachDepthStencilTexture(){const t=this._depthStencilTexture;return t&&this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,l)),this._depthStencilTexture=null,t}attachDepthStencilBuffer(t){if(i(t))return;const e=t.descriptor;if(e.internalFormat!==T.DEPTH_STENCIL&&e.internalFormat!==T.DEPTH_COMPONENT16&&console.error(\"Depth/Stencil buffer must have correct internalFormat\"),H(e,this._desc),this._disposeDepthStencilAttachments(),this._desc.depthStencilTarget=e.internalFormat===T.DEPTH_STENCIL?o.DEPTH_STENCIL_RENDER_BUFFER:o.DEPTH_RENDER_BUFFER,this._initialized){this._context.bindFramebuffer(this);const e=this._context.gl,i=this._desc.depthStencilTarget===o.DEPTH_RENDER_BUFFER?e.DEPTH_ATTACHMENT:e.DEPTH_STENCIL_ATTACHMENT;e.framebufferRenderbuffer(E.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===o.DEPTH_RENDER_BUFFER?t.DEPTH_ATTACHMENT:t.DEPTH_STENCIL_ATTACHMENT;t.framebufferRenderbuffer(E.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,h,s,n){(t<0||e<0||h<0||s<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!==d.TEXTURE_2D&&console.error(\"Texture target must be TEXTURE_2D!\"),(null==c?.width||null==c?.height||null==o?.width||null==o?.height||t+i>c.width||e+r>c.height||h+i>o.width||s+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,N.TEXTURE_UNIT_FOR_UPDATES);_.setActiveTexture(N.TEXTURE_UNIT_FOR_UPDATES),_.bindFramebuffer(this),_.gl.copyTexSubImage2D(d.TEXTURE_2D,0,h,s,t,e,i,r),_.bindTexture(a,N.TEXTURE_UNIT_FOR_UPDATES)}readPixels(t,e,i,r,h,s,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,h,s,n)}async readPixelsAsync(t,e,i,n,c,o,_){if(this._context.type!==s.WEBGL2)return h()&&console.warn(\"Attempting to read pixels using pixel buffer object without WebGL2\"),void this.readPixels(t,e,i,n,c,o,_);const a=this._context.gl,l=r.createPixelPack(this._context,u.STREAM_READ,_.byteLength);this._context.bindBuffer(l),this._context.bindFramebuffer(this),a.readPixels(t,e,i,n,c,o,0),this._context.unbindBuffer(f.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=E.FRAMEBUFFER){const e=this._context.gl;if(this._initialized)return void e.bindFramebuffer(t,this.glName);this._glName&&e.deleteFramebuffer(this._glName);const i=this._context,r=e.createFramebuffer(),s=this._desc,n=s.colorTarget??m.RENDER_BUFFER,l=s.width??1,u=s.height??1;if(e.bindFramebuffer(t,r),0===this._colorAttachments.size)if(n===m.TEXTURE||n===m.CUBEMAP)this._colorAttachments.set(c.COLOR_ATTACHMENT0,S(i,s,this.descriptor.colorTarget===m.CUBEMAP?d.TEXTURE_CUBE_MAP:d.TEXTURE_2D));else{const t=new g(i,{internalFormat:A.RGBA4,width:l,height:u});this._colorAttachments.set(c.COLOR_ATTACHMENT0,t)}this._colorAttachments.forEach(((i,r)=>{i&&(b(i)?this._framebufferTexture2D(i.glName,r,P(i),t):e.framebufferRenderbuffer(t,r,e.RENDERBUFFER,i.glName))}));const f=s.depthStencilTarget??o.NONE;switch(f){case o.DEPTH_RENDER_BUFFER:case o.DEPTH_STENCIL_RENDER_BUFFER:{this._depthAttachment||(this._depthAttachment=new g(i,{internalFormat:s.depthStencilTarget===o.DEPTH_RENDER_BUFFER?T.DEPTH_COMPONENT16:T.DEPTH_STENCIL,width:l,height:u}));const r=f===o.DEPTH_RENDER_BUFFER?e.DEPTH_ATTACHMENT:e.DEPTH_STENCIL_ATTACHMENT;e.framebufferRenderbuffer(t,r,e.RENDERBUFFER,this._depthAttachment.glName);break}case o.STENCIL_RENDER_BUFFER:this._stencilAttachment||(this._stencilAttachment=new g(i,{internalFormat:T.STENCIL_INDEX8,width:l,height:u})),e.framebufferRenderbuffer(t,e.STENCIL_ATTACHMENT,e.RENDERBUFFER,this._stencilAttachment.glName);break;case o.DEPTH_STENCIL_TEXTURE:if(!this._depthStencilTexture){i.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:d.TEXTURE_2D,pixelFormat:_.DEPTH_STENCIL,dataType:a.UNSIGNED_INT_24_8,samplingMode:p.NEAREST,wrapMode:R.CLAMP_TO_EDGE,width:l,height:u};this._depthStencilTexture=new N(i,t)}this._framebufferTexture2D(this._depthStencilTexture.glName,e.DEPTH_STENCIL_ATTACHMENT,P(this._depthStencilTexture),t)}if(h()){e.checkFramebufferStatus(t)!==e.FRAMEBUFFER_COMPLETE&&console.error(\"Framebuffer is incomplete!\")}this._glName=r,this._initialized=!0}_framebufferTexture2D(t,e=c.COLOR_ATTACHMENT0,i=d.TEXTURE_2D,r=E.FRAMEBUFFER,h=0){this._context.gl.framebufferTexture2D(r,e,i,t,h)}_detachColorAttachment(t){h()&&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 b(i)?this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,t)):this._initialized&&(this._context.bindFramebuffer(this),e.framebufferRenderbuffer(E.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===o.DEPTH_RENDER_BUFFER?t.DEPTH_ATTACHMENT:t.DEPTH_STENCIL_ATTACHMENT;t.framebufferRenderbuffer(E.FRAMEBUFFER,e,t.RENDERBUFFER,null)}this._depthAttachment.dispose(),this._depthAttachment=null}this._stencilAttachment&&(this._initialized&&(this._context.bindFramebuffer(this),t.framebufferRenderbuffer(E.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(e){if(-1===x._MAX_COLOR_ATTACHMENTS){const t=this._context.capabilities.drawBuffers;if(t){const e=this._context.gl;x._MAX_COLOR_ATTACHMENTS=e.getParameter(t.MAX_COLOR_ATTACHMENTS)}else x._MAX_COLOR_ATTACHMENTS=1}const i=e-c.COLOR_ATTACHMENT0;i+1>x._MAX_COLOR_ATTACHMENTS&&t.getLogger(\"esri.views.webgl.FrameBufferObject\").error(\"esri.FrameBufferObject\",`illegal attachment point for color attachment: ${i+1}. Implementation supports up to ${x._MAX_COLOR_ATTACHMENTS} color attachments`)}}function b(t){return null!=t&&\"type\"in t&&\"texture\"===t.type}function D(t){return null!=t&&\"type\"in t&&\"renderbuffer\"===t.type}function C(t){return b(t)||null!=t&&\"pixelFormat\"in t}function S(t,e,i){return new N(t,{target:i,pixelFormat:_.RGBA,dataType:a.UNSIGNED_BYTE,samplingMode:p.NEAREST,wrapMode:R.CLAMP_TO_EDGE,width:e.width,height:e.height})}function U(t,e){t.target!==d.TEXTURE_2D&&t.target!==d.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 H(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 P(t){return t.descriptor.target===d.TEXTURE_CUBE_MAP?d.TEXTURE_CUBE_MAP_POSITIVE_X:d.TEXTURE_2D}x._MAX_COLOR_ATTACHMENTS=-1;export{x as FramebufferObject};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/esri/copyright.txt for details.\n*/\nimport{nullifyNonNullableForDispose as e}from\"../../core/maybe.js\";import{ContextType as t}from\"./context-util.js\";import{ResourceType as r}from\"./enums.js\";class s{constructor(e,s){this._context=e,this._desc=s,this.type=\"renderbuffer\",this._context.instanceCounter.increment(r.Renderbuffer,this);const i=this._context.gl;this.glName=i.createRenderbuffer(),this._context.bindRenderbuffer(this);const{width:n,height:o,internalFormat:h,multisampled:c}=s;if(c){if(this._context.type!==t.WEBGL2)throw new Error(\"Multisampled renderbuffers are not supported in WebGL1!\");i.renderbufferStorageMultisample(i.RENDERBUFFER,this.samples,h,n,o)}else i.renderbufferStorage(i.RENDERBUFFER,h,n,o)}get descriptor(){return this._desc}get samples(){const e=this._desc.samples,t=this._context.parameters.maxSamples;return e?Math.min(e,t):t}resize(e,t){const r=this._desc;if(r.width===e&&r.height===t)return;r.width=e,r.height=t;const s=this._context.gl;if(this._context.bindRenderbuffer(this),r.multisampled){s.renderbufferStorageMultisample(s.RENDERBUFFER,this.samples,r.internalFormat,r.width,r.height)}else s.renderbufferStorage(s.RENDERBUFFER,r.internalFormat,r.width,r.height)}dispose(){this._context&&(this._context.gl.deleteRenderbuffer(this.glName),this._context.instanceCounter.decrement(r.Renderbuffer,this),this._context=e(this._context))}}export{s as Renderbuffer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.25/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"],"sourceRoot":""}