1 |
- {"ast":null,"code":"import { Size } from \"../../Maths/math.size.js\";\n/**\n * Base class of all the textures in babylon.\n * It groups all the common properties required to work with Thin Engine.\n */\nexport class ThinTexture {\n /**\n * | Value | Type | Description |\n * | ----- | ------------------ | ----------- |\n * | 0 | CLAMP_ADDRESSMODE | |\n * | 1 | WRAP_ADDRESSMODE | |\n * | 2 | MIRROR_ADDRESSMODE | |\n */\n get wrapU() {\n return this._wrapU;\n }\n set wrapU(value) {\n this._wrapU = value;\n }\n /**\n * | Value | Type | Description |\n * | ----- | ------------------ | ----------- |\n * | 0 | CLAMP_ADDRESSMODE | |\n * | 1 | WRAP_ADDRESSMODE | |\n * | 2 | MIRROR_ADDRESSMODE | |\n */\n get wrapV() {\n return this._wrapV;\n }\n set wrapV(value) {\n this._wrapV = value;\n }\n /**\n * How a texture is mapped.\n * Unused in thin texture mode.\n */\n get coordinatesMode() {\n return 0;\n }\n /**\n * Define if the texture is a cube texture or if false a 2d texture.\n */\n get isCube() {\n if (!this._texture) {\n return false;\n }\n return this._texture.isCube;\n }\n // eslint-disable-next-line @typescript-eslint/naming-convention\n set isCube(value) {\n if (!this._texture) {\n return;\n }\n this._texture.isCube = value;\n }\n /**\n * Define if the texture is a 3d texture (webgl 2) or if false a 2d texture.\n */\n get is3D() {\n if (!this._texture) {\n return false;\n }\n return this._texture.is3D;\n }\n // eslint-disable-next-line @typescript-eslint/naming-convention\n set is3D(value) {\n if (!this._texture) {\n return;\n }\n this._texture.is3D = value;\n }\n /**\n * Define if the texture is a 2d array texture (webgl 2) or if false a 2d texture.\n */\n get is2DArray() {\n if (!this._texture) {\n return false;\n }\n return this._texture.is2DArray;\n }\n // eslint-disable-next-line @typescript-eslint/naming-convention\n set is2DArray(value) {\n if (!this._texture) {\n return;\n }\n this._texture.is2DArray = value;\n }\n /**\n * Get the class name of the texture.\n * @returns \"ThinTexture\"\n */\n getClassName() {\n return \"ThinTexture\";\n }\n static _IsRenderTargetWrapper(texture) {\n return (texture === null || texture === void 0 ? void 0 : texture.shareDepth) !== undefined;\n }\n /**\n * Instantiates a new ThinTexture.\n * Base class of all the textures in babylon.\n * This can be used as an internal texture wrapper in AbstractEngine to benefit from the cache\n * @param internalTexture Define the internalTexture to wrap. You can also pass a RenderTargetWrapper, in which case the texture will be the render target's texture\n */\n constructor(internalTexture) {\n this._wrapU = 1;\n this._wrapV = 1;\n /**\n * | Value | Type | Description |\n * | ----- | ------------------ | ----------- |\n * | 0 | CLAMP_ADDRESSMODE | |\n * | 1 | WRAP_ADDRESSMODE | |\n * | 2 | MIRROR_ADDRESSMODE | |\n */\n this.wrapR = 1;\n /**\n * With compliant hardware and browser (supporting anisotropic filtering)\n * this defines the level of anisotropic filtering in the texture.\n * The higher the better but the slower. This defaults to 4 as it seems to be the best tradeoff.\n */\n this.anisotropicFilteringLevel = 4;\n /**\n * Define the current state of the loading sequence when in delayed load mode.\n */\n this.delayLoadState = 0;\n /** @internal */\n this._texture = null;\n this._engine = null;\n this._cachedSize = Size.Zero();\n this._cachedBaseSize = Size.Zero();\n /** @internal */\n this._initialSamplingMode = 2;\n this._texture = ThinTexture._IsRenderTargetWrapper(internalTexture) ? internalTexture.texture : internalTexture;\n if (this._texture) {\n this._engine = this._texture.getEngine();\n }\n }\n /**\n * Get if the texture is ready to be used (downloaded, converted, mip mapped...).\n * @returns true if fully ready\n */\n isReady() {\n if (this.delayLoadState === 4) {\n this.delayLoad();\n return false;\n }\n if (this._texture) {\n return this._texture.isReady;\n }\n return false;\n }\n /**\n * Triggers the load sequence in delayed load mode.\n */\n delayLoad() {}\n /**\n * Get the underlying lower level texture from Babylon.\n * @returns the internal texture\n */\n getInternalTexture() {\n return this._texture;\n }\n /**\n * Get the size of the texture.\n * @returns the texture size.\n */\n getSize() {\n if (this._texture) {\n if (this._texture.width) {\n this._cachedSize.width = this._texture.width;\n this._cachedSize.height = this._texture.height;\n return this._cachedSize;\n }\n if (this._texture._size) {\n this._cachedSize.width = this._texture._size;\n this._cachedSize.height = this._texture._size;\n return this._cachedSize;\n }\n }\n return this._cachedSize;\n }\n /**\n * Get the base size of the texture.\n * It can be different from the size if the texture has been resized for POT for instance\n * @returns the base size\n */\n getBaseSize() {\n if (!this.isReady() || !this._texture) {\n this._cachedBaseSize.width = 0;\n this._cachedBaseSize.height = 0;\n return this._cachedBaseSize;\n }\n if (this._texture._size) {\n this._cachedBaseSize.width = this._texture._size;\n this._cachedBaseSize.height = this._texture._size;\n return this._cachedBaseSize;\n }\n this._cachedBaseSize.width = this._texture.baseWidth;\n this._cachedBaseSize.height = this._texture.baseHeight;\n return this._cachedBaseSize;\n }\n /**\n * Get the current sampling mode associated with the texture.\n */\n get samplingMode() {\n if (!this._texture) {\n return this._initialSamplingMode;\n }\n return this._texture.samplingMode;\n }\n /**\n * Update the sampling mode of the texture.\n * Default is Trilinear mode.\n *\n * | Value | Type | Description |\n * | ----- | ------------------ | ----------- |\n * | 1 | NEAREST_SAMPLINGMODE or NEAREST_NEAREST_MIPLINEAR | Nearest is: mag = nearest, min = nearest, mip = linear |\n * | 2 | BILINEAR_SAMPLINGMODE or LINEAR_LINEAR_MIPNEAREST | Bilinear is: mag = linear, min = linear, mip = nearest |\n * | 3 | TRILINEAR_SAMPLINGMODE or LINEAR_LINEAR_MIPLINEAR | Trilinear is: mag = linear, min = linear, mip = linear |\n * | 4 | NEAREST_NEAREST_MIPNEAREST | |\n * | 5 | NEAREST_LINEAR_MIPNEAREST | |\n * | 6 | NEAREST_LINEAR_MIPLINEAR | |\n * | 7 | NEAREST_LINEAR | |\n * | 8 | NEAREST_NEAREST | |\n * | 9 | LINEAR_NEAREST_MIPNEAREST | |\n * | 10 | LINEAR_NEAREST_MIPLINEAR | |\n * | 11 | LINEAR_LINEAR | |\n * | 12 | LINEAR_NEAREST | |\n *\n * > _mag_: magnification filter (close to the viewer)\n * > _min_: minification filter (far from the viewer)\n * > _mip_: filter used between mip map levels\n *@param samplingMode Define the new sampling mode of the texture\n */\n updateSamplingMode(samplingMode) {\n if (this._texture && this._engine) {\n this._engine.updateTextureSamplingMode(samplingMode, this._texture);\n }\n }\n /**\n * Release and destroy the underlying lower level texture aka internalTexture.\n */\n releaseInternalTexture() {\n if (this._texture) {\n this._texture.dispose();\n this._texture = null;\n }\n }\n /**\n * Dispose the texture and release its associated resources.\n */\n dispose() {\n if (this._texture) {\n this.releaseInternalTexture();\n this._engine = null;\n }\n }\n}","map":{"version":3,"names":["Size","ThinTexture","wrapU","_wrapU","value","wrapV","_wrapV","coordinatesMode","isCube","_texture","is3D","is2DArray","getClassName","_IsRenderTargetWrapper","texture","shareDepth","undefined","constructor","internalTexture","wrapR","anisotropicFilteringLevel","delayLoadState","_engine","_cachedSize","Zero","_cachedBaseSize","_initialSamplingMode","getEngine","isReady","delayLoad","getInternalTexture","getSize","width","height","_size","getBaseSize","baseWidth","baseHeight","samplingMode","updateSamplingMode","updateTextureSamplingMode","releaseInternalTexture","dispose"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Textures/thinTexture.js"],"sourcesContent":["\nimport { Size } from \"../../Maths/math.size.js\";\n/**\n * Base class of all the textures in babylon.\n * It groups all the common properties required to work with Thin Engine.\n */\nexport class ThinTexture {\n /**\n * | Value | Type | Description |\n * | ----- | ------------------ | ----------- |\n * | 0 | CLAMP_ADDRESSMODE | |\n * | 1 | WRAP_ADDRESSMODE | |\n * | 2 | MIRROR_ADDRESSMODE | |\n */\n get wrapU() {\n return this._wrapU;\n }\n set wrapU(value) {\n this._wrapU = value;\n }\n /**\n * | Value | Type | Description |\n * | ----- | ------------------ | ----------- |\n * | 0 | CLAMP_ADDRESSMODE | |\n * | 1 | WRAP_ADDRESSMODE | |\n * | 2 | MIRROR_ADDRESSMODE | |\n */\n get wrapV() {\n return this._wrapV;\n }\n set wrapV(value) {\n this._wrapV = value;\n }\n /**\n * How a texture is mapped.\n * Unused in thin texture mode.\n */\n get coordinatesMode() {\n return 0;\n }\n /**\n * Define if the texture is a cube texture or if false a 2d texture.\n */\n get isCube() {\n if (!this._texture) {\n return false;\n }\n return this._texture.isCube;\n }\n // eslint-disable-next-line @typescript-eslint/naming-convention\n set isCube(value) {\n if (!this._texture) {\n return;\n }\n this._texture.isCube = value;\n }\n /**\n * Define if the texture is a 3d texture (webgl 2) or if false a 2d texture.\n */\n get is3D() {\n if (!this._texture) {\n return false;\n }\n return this._texture.is3D;\n }\n // eslint-disable-next-line @typescript-eslint/naming-convention\n set is3D(value) {\n if (!this._texture) {\n return;\n }\n this._texture.is3D = value;\n }\n /**\n * Define if the texture is a 2d array texture (webgl 2) or if false a 2d texture.\n */\n get is2DArray() {\n if (!this._texture) {\n return false;\n }\n return this._texture.is2DArray;\n }\n // eslint-disable-next-line @typescript-eslint/naming-convention\n set is2DArray(value) {\n if (!this._texture) {\n return;\n }\n this._texture.is2DArray = value;\n }\n /**\n * Get the class name of the texture.\n * @returns \"ThinTexture\"\n */\n getClassName() {\n return \"ThinTexture\";\n }\n static _IsRenderTargetWrapper(texture) {\n return texture?.shareDepth !== undefined;\n }\n /**\n * Instantiates a new ThinTexture.\n * Base class of all the textures in babylon.\n * This can be used as an internal texture wrapper in AbstractEngine to benefit from the cache\n * @param internalTexture Define the internalTexture to wrap. You can also pass a RenderTargetWrapper, in which case the texture will be the render target's texture\n */\n constructor(internalTexture) {\n this._wrapU = 1;\n this._wrapV = 1;\n /**\n * | Value | Type | Description |\n * | ----- | ------------------ | ----------- |\n * | 0 | CLAMP_ADDRESSMODE | |\n * | 1 | WRAP_ADDRESSMODE | |\n * | 2 | MIRROR_ADDRESSMODE | |\n */\n this.wrapR = 1;\n /**\n * With compliant hardware and browser (supporting anisotropic filtering)\n * this defines the level of anisotropic filtering in the texture.\n * The higher the better but the slower. This defaults to 4 as it seems to be the best tradeoff.\n */\n this.anisotropicFilteringLevel = 4;\n /**\n * Define the current state of the loading sequence when in delayed load mode.\n */\n this.delayLoadState = 0;\n /** @internal */\n this._texture = null;\n this._engine = null;\n this._cachedSize = Size.Zero();\n this._cachedBaseSize = Size.Zero();\n /** @internal */\n this._initialSamplingMode = 2;\n this._texture = ThinTexture._IsRenderTargetWrapper(internalTexture) ? internalTexture.texture : internalTexture;\n if (this._texture) {\n this._engine = this._texture.getEngine();\n }\n }\n /**\n * Get if the texture is ready to be used (downloaded, converted, mip mapped...).\n * @returns true if fully ready\n */\n isReady() {\n if (this.delayLoadState === 4) {\n this.delayLoad();\n return false;\n }\n if (this._texture) {\n return this._texture.isReady;\n }\n return false;\n }\n /**\n * Triggers the load sequence in delayed load mode.\n */\n delayLoad() { }\n /**\n * Get the underlying lower level texture from Babylon.\n * @returns the internal texture\n */\n getInternalTexture() {\n return this._texture;\n }\n /**\n * Get the size of the texture.\n * @returns the texture size.\n */\n getSize() {\n if (this._texture) {\n if (this._texture.width) {\n this._cachedSize.width = this._texture.width;\n this._cachedSize.height = this._texture.height;\n return this._cachedSize;\n }\n if (this._texture._size) {\n this._cachedSize.width = this._texture._size;\n this._cachedSize.height = this._texture._size;\n return this._cachedSize;\n }\n }\n return this._cachedSize;\n }\n /**\n * Get the base size of the texture.\n * It can be different from the size if the texture has been resized for POT for instance\n * @returns the base size\n */\n getBaseSize() {\n if (!this.isReady() || !this._texture) {\n this._cachedBaseSize.width = 0;\n this._cachedBaseSize.height = 0;\n return this._cachedBaseSize;\n }\n if (this._texture._size) {\n this._cachedBaseSize.width = this._texture._size;\n this._cachedBaseSize.height = this._texture._size;\n return this._cachedBaseSize;\n }\n this._cachedBaseSize.width = this._texture.baseWidth;\n this._cachedBaseSize.height = this._texture.baseHeight;\n return this._cachedBaseSize;\n }\n /**\n * Get the current sampling mode associated with the texture.\n */\n get samplingMode() {\n if (!this._texture) {\n return this._initialSamplingMode;\n }\n return this._texture.samplingMode;\n }\n /**\n * Update the sampling mode of the texture.\n * Default is Trilinear mode.\n *\n * | Value | Type | Description |\n * | ----- | ------------------ | ----------- |\n * | 1 | NEAREST_SAMPLINGMODE or NEAREST_NEAREST_MIPLINEAR | Nearest is: mag = nearest, min = nearest, mip = linear |\n * | 2 | BILINEAR_SAMPLINGMODE or LINEAR_LINEAR_MIPNEAREST | Bilinear is: mag = linear, min = linear, mip = nearest |\n * | 3 | TRILINEAR_SAMPLINGMODE or LINEAR_LINEAR_MIPLINEAR | Trilinear is: mag = linear, min = linear, mip = linear |\n * | 4 | NEAREST_NEAREST_MIPNEAREST | |\n * | 5 | NEAREST_LINEAR_MIPNEAREST | |\n * | 6 | NEAREST_LINEAR_MIPLINEAR | |\n * | 7 | NEAREST_LINEAR | |\n * | 8 | NEAREST_NEAREST | |\n * | 9 | LINEAR_NEAREST_MIPNEAREST | |\n * | 10 | LINEAR_NEAREST_MIPLINEAR | |\n * | 11 | LINEAR_LINEAR | |\n * | 12 | LINEAR_NEAREST | |\n *\n * > _mag_: magnification filter (close to the viewer)\n * > _min_: minification filter (far from the viewer)\n * > _mip_: filter used between mip map levels\n *@param samplingMode Define the new sampling mode of the texture\n */\n updateSamplingMode(samplingMode) {\n if (this._texture && this._engine) {\n this._engine.updateTextureSamplingMode(samplingMode, this._texture);\n }\n }\n /**\n * Release and destroy the underlying lower level texture aka internalTexture.\n */\n releaseInternalTexture() {\n if (this._texture) {\n this._texture.dispose();\n this._texture = null;\n }\n }\n /**\n * Dispose the texture and release its associated resources.\n */\n dispose() {\n if (this._texture) {\n this.releaseInternalTexture();\n this._engine = null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|