{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/views/webgl/VertexArrayObject.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/Renderbuffer.js","webpack:///./node_modules/@arcgis/core/views/webgl/FramebufferObject.js"],"names":["o","t","getLogger","f","constructor","e","i","s","n","this","_context","_locations","_layout","_buffers","_indexBuffer","_glName","_initialized","instanceCounter","increment","r","VertexArrayObject","Object","keys","reduce","size","dispose","capabilities","vao","deleteVertexArray","warn","getBoundVAO","bindVAO","decrement","getOwnPropertyNames","length","initialize","createVertexArray","bindVertexArray","_bindLayout","bind","glName","error","gl","bindBuffer","ELEMENT_ARRAY_BUFFER","unbind","_unbindLayout","unbindBuffer","bufferType","_","b","c","usage","_size","_indexType","a","BufferObject","createBuffer","setData","ARRAY_BUFFER","type","WEBGL2","Error","UNIFORM_BUFFER","u","STREAM_READ","PIXEL_PACK_BUFFER","setSize","STREAM_DRAW","PIXEL_UNPACK_BUFFER","h","UNSIGNED_INT","deleteBuffer","UNSIGNED_SHORT","_setBufferData","byteLength","_isVAOAware","bufferData","setSubData","E","l","ArrayBuffer","isView","buffer","d","slice","bufferSubData","setSubDataFromView","BYTES_PER_ELEMENT","subarray","getSubData","byteSize","COPY_READ_BUFFER","getBufferSubData","clientWaitAsync","getError","NO_ERROR","INVALID_ENUM","INVALID_VALUE","INVALID_OPERATION","INVALID_FRAMEBUFFER_OPERATION","OUT_OF_MEMORY","CONTEXT_LOST_WEBGL","vertexBuffers","layout","stride","R","instancing","get","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","_desc","Renderbuffer","createRenderbuffer","bindRenderbuffer","multisampled","renderbufferStorageMultisample","RENDERBUFFER","samples","renderbufferStorage","parameters","maxSamples","Math","min","resize","deleteRenderbuffer","D","_depthAttachment","_stencilAttachment","_colorAttachments","Map","FramebufferObject","Array","isArray","COLOR_ATTACHMENT0","U","C","set","F","P","S","g","B","_validateColorAttachmentPoint","depthTexture","_depthStencilTexture","depthStencilTarget","DEPTH_STENCIL_RENDER_BUFFER","STENCIL_RENDER_BUFFER","DEPTH_RENDER_BUFFER","getBoundFramebufferObject","_disposeColorAttachments","_disposeDepthStencilAttachments","deleteFramebuffer","bindFramebuffer","x","depthStencilAttachment","getColorTexture","attachColorTexture","_framebufferTexture2D","detachColorTexture","delete","setColorTextureTarget","attachDepthStencilTexture","dataType","UNSIGNED_INT_24_8","DEPTH_STENCIL_TEXTURE","T","detachDepthStencilTexture","attachDepthStencilBuffer","DEPTH_ATTACHMENT","DEPTH_STENCIL_ATTACHMENT","framebufferRenderbuffer","FRAMEBUFFER","detachDepthStencilBuffer","detachAll","forEach","_detachColorAttachment","copyToTexture","target","TEXTURE_2D","bindTexture","TEXTURE_UNIT_FOR_UPDATES","setActiveTexture","copyTexSubImage2D","readPixels","createPixelPack","m","getSubDataAsync","initializeAndBind","createFramebuffer","colorTarget","A","RENDER_BUFFER","TEXTURE","CUBEMAP","H","TEXTURE_CUBE_MAP","N","M","NONE","STENCIL_ATTACHMENT","samplingMode","p","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-9a1bd63a.184a8bc0.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/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 r}from\"./enums.js\";import{bindVertexBufferLayout as s,unbindVertexBufferLayout as n}from\"./Util.js\";const o=t.getLogger(\"esri.views.webgl.VertexArrayObject\");class f{constructor(t,e,i,s,n=null){this._context=t,this._locations=e,this._layout=i,this._buffers=s,this._indexBuffer=n,this._glName=null,this._initialized=!1,t.instanceCounter.increment(r.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)&&o.warn(\"Leaked WebGL VAO\"));if(this._glName){const t=this._context?.capabilities?.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(r.VertexArrayObject,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:r}=this;t||o.error(\"Vertex buffer dictionary is empty!\");const n=this._context.gl;for(const e in t){const r=t[e];r||o.error(\"Vertex buffer is uninitialized!\");const n=i[e];n||o.error(\"Vertex element descriptor is empty!\"),s(this._context,this._locations,r,n)}if(e(r)){!!this._context.capabilities.vao?n.bindBuffer(n.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||o.error(\"Vertex buffer dictionary is empty!\");for(const e in t){const r=t[e];r||o.error(\"Vertex buffer is uninitialized!\");const s=i[e];n(this._context,this._locations,r,s)}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.24/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.BufferObject,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(){if(this._context?.gl){if(this._glName){this._context.gl.deleteBuffer(this._glName),this._glName=null}this._context.instanceCounter.decrement(a.BufferObject,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*((r??0)+(i??0))>e.byteLength)return void _.error(\"Problem getting subdata: offset and length exceeded destination size!\");t+s*(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.24/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.24/esri/copyright.txt for details.\n*/\nimport{ContextType as e}from\"./context-util.js\";import{ResourceType as t}from\"./enums.js\";class r{constructor(r,s){this._context=r,this._desc=s,this.type=\"renderbuffer\",this._context.instanceCounter.increment(t.Renderbuffer,this);const i=this._context.gl;this.glName=i.createRenderbuffer(),this._context.bindRenderbuffer(this);const{width:n,height:h,internalFormat:o,multisampled:a}=s;if(a){if(this._context.type!==e.WEBGL2)throw new Error(\"Multisampled renderbuffers are not supported in WebGL1!\");i.renderbufferStorageMultisample(i.RENDERBUFFER,this.samples,o,n,h)}else i.renderbufferStorage(i.RENDERBUFFER,o,n,h)}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(t.Renderbuffer,this),this._context=null)}}export{r as Renderbuffer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/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.FramebufferObject,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){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??A.RENDER_BUFFER,c=s.width??1,T=s.height??1;if(e.bindFramebuffer(t,r),0===this._colorAttachments.size)if(n===A.TEXTURE||n===A.CUBEMAP)this._colorAttachments.set(o.COLOR_ATTACHMENT0,H(i,s,this.descriptor.colorTarget===A.CUBEMAP?u.TEXTURE_CUBE_MAP:u.TEXTURE_2D));else{const t=new g(i,{internalFormat:N.RGBA4,width:c,height:T});this._colorAttachments.set(o.COLOR_ATTACHMENT0,t)}this._colorAttachments.forEach(((i,r)=>{i&&(C(i)?this._framebufferTexture2D(i.glName,r,M(i),t):e.framebufferRenderbuffer(t,r,e.RENDERBUFFER,i.glName))}));const f=s.depthStencilTarget??_.NONE;switch(f){case _.DEPTH_RENDER_BUFFER:case _.DEPTH_STENCIL_RENDER_BUFFER:{this._depthAttachment||(this._depthAttachment=new g(i,{internalFormat:s.depthStencilTarget===_.DEPTH_RENDER_BUFFER?E.DEPTH_COMPONENT16:E.DEPTH_STENCIL,width:c,height:T}));const r=f===_.DEPTH_RENDER_BUFFER?e.DEPTH_ATTACHMENT:e.DEPTH_STENCIL_ATTACHMENT;e.framebufferRenderbuffer(t,r,e.RENDERBUFFER,this._depthAttachment.glName);break}case _.STENCIL_RENDER_BUFFER:this._stencilAttachment||(this._stencilAttachment=new g(i,{internalFormat:E.STENCIL_INDEX8,width:c,height:T})),e.framebufferRenderbuffer(t,e.STENCIL_ATTACHMENT,e.RENDERBUFFER,this._stencilAttachment.glName);break;case _.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:u.TEXTURE_2D,pixelFormat:a.DEPTH_STENCIL,dataType:l.UNSIGNED_INT_24_8,samplingMode:p.NEAREST,wrapMode:R.CLAMP_TO_EDGE,width:c,height:T};this._depthStencilTexture=new F(i,t)}this._framebufferTexture2D(this._depthStencilTexture.glName,e.DEPTH_STENCIL_ATTACHMENT,M(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=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":""}