1 |
- {"ast":null,"code":"import { InternalTexture } from \"../../Materials/Textures/internalTexture.js\";\nimport { Logger } from \"../../Misc/logger.js\";\nimport { ThinEngine } from \"../thinEngine.js\";\nThinEngine.prototype.createRenderTargetCubeTexture = function (size, options) {\n const rtWrapper = this._createHardwareRenderTargetWrapper(false, true, size);\n const fullOptions = {\n generateMipMaps: true,\n generateDepthBuffer: true,\n generateStencilBuffer: false,\n type: 0,\n samplingMode: 3,\n format: 5,\n ...options\n };\n fullOptions.generateStencilBuffer = fullOptions.generateDepthBuffer && fullOptions.generateStencilBuffer;\n if (fullOptions.type === 1 && !this._caps.textureFloatLinearFiltering) {\n // if floating point linear (gl.FLOAT) then force to NEAREST_SAMPLINGMODE\n fullOptions.samplingMode = 1;\n } else if (fullOptions.type === 2 && !this._caps.textureHalfFloatLinearFiltering) {\n // if floating point linear (HALF_FLOAT) then force to NEAREST_SAMPLINGMODE\n fullOptions.samplingMode = 1;\n }\n const gl = this._gl;\n const texture = new InternalTexture(this, 5 /* InternalTextureSource.RenderTarget */);\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true);\n const filters = this._getSamplingParameters(fullOptions.samplingMode, fullOptions.generateMipMaps);\n if (fullOptions.type === 1 && !this._caps.textureFloat) {\n fullOptions.type = 0;\n Logger.Warn(\"Float textures are not supported. Cube render target forced to TEXTURETYPE_UNESIGNED_BYTE type\");\n }\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, filters.mag);\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, filters.min);\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 for (let face = 0; face < 6; face++) {\n gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + face, 0, this._getRGBABufferInternalSizedFormat(fullOptions.type, fullOptions.format), size, size, 0, this._getInternalFormat(fullOptions.format), this._getWebGLTextureType(fullOptions.type), null);\n }\n // Create the framebuffer\n const framebuffer = gl.createFramebuffer();\n this._bindUnboundFramebuffer(framebuffer);\n rtWrapper._depthStencilBuffer = this._setupFramebufferDepthAttachments(fullOptions.generateStencilBuffer, fullOptions.generateDepthBuffer, size, size);\n // MipMaps\n if (fullOptions.generateMipMaps) {\n gl.generateMipmap(gl.TEXTURE_CUBE_MAP);\n }\n // Unbind\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\n this._bindUnboundFramebuffer(null);\n rtWrapper._framebuffer = framebuffer;\n rtWrapper._generateDepthBuffer = fullOptions.generateDepthBuffer;\n rtWrapper._generateStencilBuffer = fullOptions.generateStencilBuffer;\n texture.width = size;\n texture.height = size;\n texture.isReady = true;\n texture.isCube = true;\n texture.samples = 1;\n texture.generateMipMaps = fullOptions.generateMipMaps;\n texture.samplingMode = fullOptions.samplingMode;\n texture.type = fullOptions.type;\n texture.format = fullOptions.format;\n this._internalTexturesCache.push(texture);\n rtWrapper.setTextures(texture);\n return rtWrapper;\n};","map":{"version":3,"names":["InternalTexture","Logger","ThinEngine","prototype","createRenderTargetCubeTexture","size","options","rtWrapper","_createHardwareRenderTargetWrapper","fullOptions","generateMipMaps","generateDepthBuffer","generateStencilBuffer","type","samplingMode","format","_caps","textureFloatLinearFiltering","textureHalfFloatLinearFiltering","gl","_gl","texture","_bindTextureDirectly","TEXTURE_CUBE_MAP","filters","_getSamplingParameters","textureFloat","Warn","texParameteri","TEXTURE_MAG_FILTER","mag","TEXTURE_MIN_FILTER","min","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","face","texImage2D","TEXTURE_CUBE_MAP_POSITIVE_X","_getRGBABufferInternalSizedFormat","_getInternalFormat","_getWebGLTextureType","framebuffer","createFramebuffer","_bindUnboundFramebuffer","_depthStencilBuffer","_setupFramebufferDepthAttachments","generateMipmap","_framebuffer","_generateDepthBuffer","_generateStencilBuffer","width","height","isReady","isCube","samples","_internalTexturesCache","push","setTextures"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Engines/Extensions/engine.renderTargetCube.js"],"sourcesContent":["import { InternalTexture } from \"../../Materials/Textures/internalTexture.js\";\nimport { Logger } from \"../../Misc/logger.js\";\n\nimport { ThinEngine } from \"../thinEngine.js\";\nThinEngine.prototype.createRenderTargetCubeTexture = function (size, options) {\n const rtWrapper = this._createHardwareRenderTargetWrapper(false, true, size);\n const fullOptions = {\n generateMipMaps: true,\n generateDepthBuffer: true,\n generateStencilBuffer: false,\n type: 0,\n samplingMode: 3,\n format: 5,\n ...options,\n };\n fullOptions.generateStencilBuffer = fullOptions.generateDepthBuffer && fullOptions.generateStencilBuffer;\n if (fullOptions.type === 1 && !this._caps.textureFloatLinearFiltering) {\n // if floating point linear (gl.FLOAT) then force to NEAREST_SAMPLINGMODE\n fullOptions.samplingMode = 1;\n }\n else if (fullOptions.type === 2 && !this._caps.textureHalfFloatLinearFiltering) {\n // if floating point linear (HALF_FLOAT) then force to NEAREST_SAMPLINGMODE\n fullOptions.samplingMode = 1;\n }\n const gl = this._gl;\n const texture = new InternalTexture(this, 5 /* InternalTextureSource.RenderTarget */);\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture, true);\n const filters = this._getSamplingParameters(fullOptions.samplingMode, fullOptions.generateMipMaps);\n if (fullOptions.type === 1 && !this._caps.textureFloat) {\n fullOptions.type = 0;\n Logger.Warn(\"Float textures are not supported. Cube render target forced to TEXTURETYPE_UNESIGNED_BYTE type\");\n }\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, filters.mag);\n gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, filters.min);\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 for (let face = 0; face < 6; face++) {\n gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + face, 0, this._getRGBABufferInternalSizedFormat(fullOptions.type, fullOptions.format), size, size, 0, this._getInternalFormat(fullOptions.format), this._getWebGLTextureType(fullOptions.type), null);\n }\n // Create the framebuffer\n const framebuffer = gl.createFramebuffer();\n this._bindUnboundFramebuffer(framebuffer);\n rtWrapper._depthStencilBuffer = this._setupFramebufferDepthAttachments(fullOptions.generateStencilBuffer, fullOptions.generateDepthBuffer, size, size);\n // MipMaps\n if (fullOptions.generateMipMaps) {\n gl.generateMipmap(gl.TEXTURE_CUBE_MAP);\n }\n // Unbind\n this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null);\n this._bindUnboundFramebuffer(null);\n rtWrapper._framebuffer = framebuffer;\n rtWrapper._generateDepthBuffer = fullOptions.generateDepthBuffer;\n rtWrapper._generateStencilBuffer = fullOptions.generateStencilBuffer;\n texture.width = size;\n texture.height = size;\n texture.isReady = true;\n texture.isCube = true;\n texture.samples = 1;\n texture.generateMipMaps = fullOptions.generateMipMaps;\n texture.samplingMode = fullOptions.samplingMode;\n texture.type = fullOptions.type;\n texture.format = fullOptions.format;\n this._internalTexturesCache.push(texture);\n rtWrapper.setTextures(texture);\n return rtWrapper;\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|