{"ast":null,"code":"import { ThinEngine } from \"../../Engines/thinEngine.js\";\nimport { InternalTexture } from \"../../Materials/Textures/internalTexture.js\";\nimport { Logger } from \"../../Misc/logger.js\";\nimport { GetExponentOfTwo } from \"../../Misc/tools.functions.js\";\nThinEngine.prototype._createDepthStencilCubeTexture = function (size, options) {\n const internalTexture = new InternalTexture(this, 12 /* InternalTextureSource.DepthStencil */);\n internalTexture.isCube = true;\n if (this.webGLVersion === 1) {\n Logger.Error(\"Depth cube texture is not supported by WebGL 1.\");\n return internalTexture;\n }\n const internalOptions = {\n bilinearFiltering: false,\n comparisonFunction: 0,\n generateStencil: false,\n ...options\n };\n const gl = this._gl;\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, internalTexture, true);\n this._setupDepthStencilTexture(internalTexture, size, internalOptions.bilinearFiltering, internalOptions.comparisonFunction);\n // Create the depth/stencil buffer\n for (let face = 0; face < 6; face++) {\n if (internalOptions.generateStencil) {\n gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + face, 0, gl.DEPTH24_STENCIL8, size, size, 0, gl.DEPTH_STENCIL, gl.UNSIGNED_INT_24_8, null);\n } else {\n gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + face, 0, gl.DEPTH_COMPONENT24, size, size, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null);\n }\n }\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\n this._internalTexturesCache.push(internalTexture);\n return internalTexture;\n};\nThinEngine.prototype._setCubeMapTextureParams = function (texture, loadMipmap, maxLevel) {\n const gl = this._gl;\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, loadMipmap ? gl.LINEAR_MIPMAP_LINEAR : gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n texture.samplingMode = loadMipmap ? 3 : 2;\n if (loadMipmap && this.getCaps().textureMaxLevel && maxLevel !== undefined && maxLevel > 0) {\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAX_LEVEL, maxLevel);\n texture._maxLodLevel = maxLevel;\n }\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\n};\nThinEngine.prototype.createCubeTexture = function (rootUrl, scene, files, noMipmap, onLoad = null, onError = null, format, forcedExtension = null, createPolynomials = false, lodScale = 0, lodOffset = 0, fallback = null, loaderOptions, useSRGBBuffer = false, buffer = null) {\n const gl = this._gl;\n return this.createCubeTextureBase(rootUrl, scene, files, !!noMipmap, onLoad, onError, format, forcedExtension, createPolynomials, lodScale, lodOffset, fallback, texture => this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true), (texture, imgs) => {\n const width = this.needPOTTextures ? GetExponentOfTwo(imgs[0].width, this._caps.maxCubemapTextureSize) : imgs[0].width;\n const height = width;\n const faces = [gl.TEXTURE_CUBE_MAP_POSITIVE_X, gl.TEXTURE_CUBE_MAP_POSITIVE_Y, gl.TEXTURE_CUBE_MAP_POSITIVE_Z, gl.TEXTURE_CUBE_MAP_NEGATIVE_X, gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, gl.TEXTURE_CUBE_MAP_NEGATIVE_Z];\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true);\n this._unpackFlipY(false);\n const internalFormat = format ? this._getInternalFormat(format, texture._useSRGBBuffer) : texture._useSRGBBuffer ? this._glSRGBExtensionValues.SRGB8_ALPHA8 : gl.RGBA;\n let texelFormat = format ? this._getInternalFormat(format) : gl.RGBA;\n if (texture._useSRGBBuffer && this.webGLVersion === 1) {\n texelFormat = internalFormat;\n }\n for (let index = 0; index < faces.length; index++) {\n if (imgs[index].width !== width || imgs[index].height !== height) {\n this._prepareWorkingCanvas();\n if (!this._workingCanvas || !this._workingContext) {\n Logger.Warn(\"Cannot create canvas to resize texture.\");\n return;\n }\n this._workingCanvas.width = width;\n this._workingCanvas.height = height;\n this._workingContext.drawImage(imgs[index], 0, 0, imgs[index].width, imgs[index].height, 0, 0, width, height);\n gl.texImage2D(faces[index], 0, internalFormat, texelFormat, gl.UNSIGNED_BYTE, this._workingCanvas);\n } else {\n gl.texImage2D(faces[index], 0, internalFormat, texelFormat, gl.UNSIGNED_BYTE, imgs[index]);\n }\n }\n if (!noMipmap) {\n gl.generateMipmap(gl.TEXTURE_CUBE_MAP);\n }\n this._setCubeMapTextureParams(texture, !noMipmap);\n texture.width = width;\n texture.height = height;\n texture.isReady = true;\n if (format) {\n texture.format = format;\n }\n texture.onLoadedObservable.notifyObservers(texture);\n texture.onLoadedObservable.clear();\n if (onLoad) {\n onLoad();\n }\n }, !!useSRGBBuffer, buffer);\n};\nThinEngine.prototype.generateMipMapsForCubemap = function (texture, unbind = true) {\n if (texture.generateMipMaps) {\n const gl = this._gl;\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true);\n gl.generateMipmap(gl.TEXTURE_CUBE_MAP);\n if (unbind) {\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\n }\n }\n};","map":{"version":3,"names":["ThinEngine","InternalTexture","Logger","GetExponentOfTwo","prototype","_createDepthStencilCubeTexture","size","options","internalTexture","isCube","webGLVersion","Error","internalOptions","bilinearFiltering","comparisonFunction","generateStencil","gl","_gl","_bindTextureDirectly","TEXTURE_CUBE_MAP","_setupDepthStencilTexture","face","texImage2D","TEXTURE_CUBE_MAP_POSITIVE_X","DEPTH24_STENCIL8","DEPTH_STENCIL","UNSIGNED_INT_24_8","DEPTH_COMPONENT24","DEPTH_COMPONENT","UNSIGNED_INT","_internalTexturesCache","push","_setCubeMapTextureParams","texture","loadMipmap","maxLevel","texParameteri","TEXTURE_MAG_FILTER","LINEAR","TEXTURE_MIN_FILTER","LINEAR_MIPMAP_LINEAR","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","samplingMode","getCaps","textureMaxLevel","undefined","TEXTURE_MAX_LEVEL","_maxLodLevel","createCubeTexture","rootUrl","scene","files","noMipmap","onLoad","onError","format","forcedExtension","createPolynomials","lodScale","lodOffset","fallback","loaderOptions","useSRGBBuffer","buffer","createCubeTextureBase","imgs","width","needPOTTextures","_caps","maxCubemapTextureSize","height","faces","TEXTURE_CUBE_MAP_POSITIVE_Y","TEXTURE_CUBE_MAP_POSITIVE_Z","TEXTURE_CUBE_MAP_NEGATIVE_X","TEXTURE_CUBE_MAP_NEGATIVE_Y","TEXTURE_CUBE_MAP_NEGATIVE_Z","_unpackFlipY","internalFormat","_getInternalFormat","_useSRGBBuffer","_glSRGBExtensionValues","SRGB8_ALPHA8","RGBA","texelFormat","index","length","_prepareWorkingCanvas","_workingCanvas","_workingContext","Warn","drawImage","UNSIGNED_BYTE","generateMipmap","isReady","onLoadedObservable","notifyObservers","clear","generateMipMapsForCubemap","unbind","generateMipMaps"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Engines/Extensions/engine.cubeTexture.js"],"sourcesContent":["import { ThinEngine } from \"../../Engines/thinEngine.js\";\nimport { InternalTexture } from \"../../Materials/Textures/internalTexture.js\";\nimport { Logger } from \"../../Misc/logger.js\";\n\nimport { GetExponentOfTwo } from \"../../Misc/tools.functions.js\";\nThinEngine.prototype._createDepthStencilCubeTexture = function (size, options) {\n const internalTexture = new InternalTexture(this, 12 /* InternalTextureSource.DepthStencil */);\n internalTexture.isCube = true;\n if (this.webGLVersion === 1) {\n Logger.Error(\"Depth cube texture is not supported by WebGL 1.\");\n return internalTexture;\n }\n const internalOptions = {\n bilinearFiltering: false,\n comparisonFunction: 0,\n generateStencil: false,\n ...options,\n };\n const gl = this._gl;\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, internalTexture, true);\n this._setupDepthStencilTexture(internalTexture, size, internalOptions.bilinearFiltering, internalOptions.comparisonFunction);\n // Create the depth/stencil buffer\n for (let face = 0; face < 6; face++) {\n if (internalOptions.generateStencil) {\n gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + face, 0, gl.DEPTH24_STENCIL8, size, size, 0, gl.DEPTH_STENCIL, gl.UNSIGNED_INT_24_8, null);\n }\n else {\n gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + face, 0, gl.DEPTH_COMPONENT24, size, size, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null);\n }\n }\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\n this._internalTexturesCache.push(internalTexture);\n return internalTexture;\n};\nThinEngine.prototype._setCubeMapTextureParams = function (texture, loadMipmap, maxLevel) {\n const gl = this._gl;\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, loadMipmap ? gl.LINEAR_MIPMAP_LINEAR : gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n texture.samplingMode = loadMipmap ? 3 : 2;\n if (loadMipmap && this.getCaps().textureMaxLevel && maxLevel !== undefined && maxLevel > 0) {\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAX_LEVEL, maxLevel);\n texture._maxLodLevel = maxLevel;\n }\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\n};\nThinEngine.prototype.createCubeTexture = function (rootUrl, scene, files, noMipmap, onLoad = null, onError = null, format, forcedExtension = null, createPolynomials = false, lodScale = 0, lodOffset = 0, fallback = null, loaderOptions, useSRGBBuffer = false, buffer = null) {\n const gl = this._gl;\n return this.createCubeTextureBase(rootUrl, scene, files, !!noMipmap, onLoad, onError, format, forcedExtension, createPolynomials, lodScale, lodOffset, fallback, (texture) => this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true), (texture, imgs) => {\n const width = this.needPOTTextures ? GetExponentOfTwo(imgs[0].width, this._caps.maxCubemapTextureSize) : imgs[0].width;\n const height = width;\n const faces = [\n gl.TEXTURE_CUBE_MAP_POSITIVE_X,\n gl.TEXTURE_CUBE_MAP_POSITIVE_Y,\n gl.TEXTURE_CUBE_MAP_POSITIVE_Z,\n gl.TEXTURE_CUBE_MAP_NEGATIVE_X,\n gl.TEXTURE_CUBE_MAP_NEGATIVE_Y,\n gl.TEXTURE_CUBE_MAP_NEGATIVE_Z,\n ];\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true);\n this._unpackFlipY(false);\n const internalFormat = format ? this._getInternalFormat(format, texture._useSRGBBuffer) : texture._useSRGBBuffer ? this._glSRGBExtensionValues.SRGB8_ALPHA8 : gl.RGBA;\n let texelFormat = format ? this._getInternalFormat(format) : gl.RGBA;\n if (texture._useSRGBBuffer && this.webGLVersion === 1) {\n texelFormat = internalFormat;\n }\n for (let index = 0; index < faces.length; index++) {\n if (imgs[index].width !== width || imgs[index].height !== height) {\n this._prepareWorkingCanvas();\n if (!this._workingCanvas || !this._workingContext) {\n Logger.Warn(\"Cannot create canvas to resize texture.\");\n return;\n }\n this._workingCanvas.width = width;\n this._workingCanvas.height = height;\n this._workingContext.drawImage(imgs[index], 0, 0, imgs[index].width, imgs[index].height, 0, 0, width, height);\n gl.texImage2D(faces[index], 0, internalFormat, texelFormat, gl.UNSIGNED_BYTE, this._workingCanvas);\n }\n else {\n gl.texImage2D(faces[index], 0, internalFormat, texelFormat, gl.UNSIGNED_BYTE, imgs[index]);\n }\n }\n if (!noMipmap) {\n gl.generateMipmap(gl.TEXTURE_CUBE_MAP);\n }\n this._setCubeMapTextureParams(texture, !noMipmap);\n texture.width = width;\n texture.height = height;\n texture.isReady = true;\n if (format) {\n texture.format = format;\n }\n texture.onLoadedObservable.notifyObservers(texture);\n texture.onLoadedObservable.clear();\n if (onLoad) {\n onLoad();\n }\n }, !!useSRGBBuffer, buffer);\n};\nThinEngine.prototype.generateMipMapsForCubemap = function (texture, unbind = true) {\n if (texture.generateMipMaps) {\n const gl = this._gl;\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true);\n gl.generateMipmap(gl.TEXTURE_CUBE_MAP);\n if (unbind) {\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\n }\n }\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}