1 |
- {"ast":null,"code":"import { AbstractEngine } from \"../../abstractEngine.js\";\nimport \"../../AbstractEngine/abstractEngine.alpha.js\";\nimport { ThinWebGPUEngine } from \"../../thinWebGPUEngine.js\";\nThinWebGPUEngine.prototype.setAlphaMode = function (mode, noDepthWriteChange = false) {\n if (this._alphaMode === mode && (mode === 0 && !this._alphaState.alphaBlend || mode !== 0 && this._alphaState.alphaBlend)) {\n if (!noDepthWriteChange) {\n // Make sure we still have the correct depth mask according to the alpha mode (a transparent material could have forced writting to the depth buffer, for instance)\n const depthMask = mode === 0;\n if (this.depthCullingState.depthMask !== depthMask) {\n this.setDepthWrite(depthMask);\n this._cacheRenderPipeline.setDepthWriteEnabled(depthMask);\n }\n }\n return;\n }\n switch (mode) {\n case 0:\n this._alphaState.alphaBlend = false;\n break;\n case 7:\n this._alphaState.setAlphaBlendFunctionParameters(1, 771, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 8:\n this._alphaState.setAlphaBlendFunctionParameters(1, 771, 1, 771);\n this._alphaState.alphaBlend = true;\n break;\n case 2:\n this._alphaState.setAlphaBlendFunctionParameters(770, 771, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 6:\n this._alphaState.setAlphaBlendFunctionParameters(1, 1, 0, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 1:\n this._alphaState.setAlphaBlendFunctionParameters(770, 1, 0, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 3:\n this._alphaState.setAlphaBlendFunctionParameters(0, 769, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 4:\n this._alphaState.setAlphaBlendFunctionParameters(774, 0, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 5:\n this._alphaState.setAlphaBlendFunctionParameters(770, 769, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 9:\n this._alphaState.setAlphaBlendFunctionParameters(32769, 32770, 32771, 32772);\n this._alphaState.alphaBlend = true;\n break;\n case 10:\n this._alphaState.setAlphaBlendFunctionParameters(1, 769, 1, 771);\n this._alphaState.alphaBlend = true;\n break;\n case 11:\n this._alphaState.setAlphaBlendFunctionParameters(1, 1, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 12:\n this._alphaState.setAlphaBlendFunctionParameters(772, 1, 0, 0);\n this._alphaState.alphaBlend = true;\n break;\n case 13:\n this._alphaState.setAlphaBlendFunctionParameters(775, 769, 773, 771);\n this._alphaState.alphaBlend = true;\n break;\n case 14:\n this._alphaState.setAlphaBlendFunctionParameters(1, 771, 1, 771);\n this._alphaState.alphaBlend = true;\n break;\n case 15:\n this._alphaState.setAlphaBlendFunctionParameters(1, 1, 1, 0);\n this._alphaState.alphaBlend = true;\n break;\n case 16:\n this._alphaState.setAlphaBlendFunctionParameters(775, 769, 0, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 17:\n // Same as ALPHA_COMBINE but accumulates (1 - alpha) values in the alpha channel for a later readout in order independant transparency\n this._alphaState.setAlphaBlendFunctionParameters(770, 771, 1, 771);\n this._alphaState.alphaBlend = true;\n break;\n }\n if (!noDepthWriteChange) {\n this.setDepthWrite(mode === 0);\n this._cacheRenderPipeline.setDepthWriteEnabled(mode === 0);\n }\n this._alphaMode = mode;\n this._cacheRenderPipeline.setAlphaBlendEnabled(this._alphaState.alphaBlend);\n this._cacheRenderPipeline.setAlphaBlendFactors(this._alphaState._blendFunctionParameters, this._alphaState._blendEquationParameters);\n};\nThinWebGPUEngine.prototype.setAlphaEquation = function (equation) {\n AbstractEngine.prototype.setAlphaEquation.call(this, equation);\n this._cacheRenderPipeline.setAlphaBlendFactors(this._alphaState._blendFunctionParameters, this._alphaState._blendEquationParameters);\n};","map":{"version":3,"names":["AbstractEngine","ThinWebGPUEngine","prototype","setAlphaMode","mode","noDepthWriteChange","_alphaMode","_alphaState","alphaBlend","depthMask","depthCullingState","setDepthWrite","_cacheRenderPipeline","setDepthWriteEnabled","setAlphaBlendFunctionParameters","setAlphaBlendEnabled","setAlphaBlendFactors","_blendFunctionParameters","_blendEquationParameters","setAlphaEquation","equation","call"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Engines/WebGPU/Extensions/engine.alpha.js"],"sourcesContent":["import { AbstractEngine } from \"../../abstractEngine.js\";\n\nimport \"../../AbstractEngine/abstractEngine.alpha.js\";\nimport { ThinWebGPUEngine } from \"../../thinWebGPUEngine.js\";\nThinWebGPUEngine.prototype.setAlphaMode = function (mode, noDepthWriteChange = false) {\n if (this._alphaMode === mode && ((mode === 0 && !this._alphaState.alphaBlend) || (mode !== 0 && this._alphaState.alphaBlend))) {\n if (!noDepthWriteChange) {\n // Make sure we still have the correct depth mask according to the alpha mode (a transparent material could have forced writting to the depth buffer, for instance)\n const depthMask = mode === 0;\n if (this.depthCullingState.depthMask !== depthMask) {\n this.setDepthWrite(depthMask);\n this._cacheRenderPipeline.setDepthWriteEnabled(depthMask);\n }\n }\n return;\n }\n switch (mode) {\n case 0:\n this._alphaState.alphaBlend = false;\n break;\n case 7:\n this._alphaState.setAlphaBlendFunctionParameters(1, 771, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 8:\n this._alphaState.setAlphaBlendFunctionParameters(1, 771, 1, 771);\n this._alphaState.alphaBlend = true;\n break;\n case 2:\n this._alphaState.setAlphaBlendFunctionParameters(770, 771, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 6:\n this._alphaState.setAlphaBlendFunctionParameters(1, 1, 0, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 1:\n this._alphaState.setAlphaBlendFunctionParameters(770, 1, 0, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 3:\n this._alphaState.setAlphaBlendFunctionParameters(0, 769, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 4:\n this._alphaState.setAlphaBlendFunctionParameters(774, 0, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 5:\n this._alphaState.setAlphaBlendFunctionParameters(770, 769, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 9:\n this._alphaState.setAlphaBlendFunctionParameters(32769, 32770, 32771, 32772);\n this._alphaState.alphaBlend = true;\n break;\n case 10:\n this._alphaState.setAlphaBlendFunctionParameters(1, 769, 1, 771);\n this._alphaState.alphaBlend = true;\n break;\n case 11:\n this._alphaState.setAlphaBlendFunctionParameters(1, 1, 1, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 12:\n this._alphaState.setAlphaBlendFunctionParameters(772, 1, 0, 0);\n this._alphaState.alphaBlend = true;\n break;\n case 13:\n this._alphaState.setAlphaBlendFunctionParameters(775, 769, 773, 771);\n this._alphaState.alphaBlend = true;\n break;\n case 14:\n this._alphaState.setAlphaBlendFunctionParameters(1, 771, 1, 771);\n this._alphaState.alphaBlend = true;\n break;\n case 15:\n this._alphaState.setAlphaBlendFunctionParameters(1, 1, 1, 0);\n this._alphaState.alphaBlend = true;\n break;\n case 16:\n this._alphaState.setAlphaBlendFunctionParameters(775, 769, 0, 1);\n this._alphaState.alphaBlend = true;\n break;\n case 17:\n // Same as ALPHA_COMBINE but accumulates (1 - alpha) values in the alpha channel for a later readout in order independant transparency\n this._alphaState.setAlphaBlendFunctionParameters(770, 771, 1, 771);\n this._alphaState.alphaBlend = true;\n break;\n }\n if (!noDepthWriteChange) {\n this.setDepthWrite(mode === 0);\n this._cacheRenderPipeline.setDepthWriteEnabled(mode === 0);\n }\n this._alphaMode = mode;\n this._cacheRenderPipeline.setAlphaBlendEnabled(this._alphaState.alphaBlend);\n this._cacheRenderPipeline.setAlphaBlendFactors(this._alphaState._blendFunctionParameters, this._alphaState._blendEquationParameters);\n};\nThinWebGPUEngine.prototype.setAlphaEquation = function (equation) {\n AbstractEngine.prototype.setAlphaEquation.call(this, equation);\n this._cacheRenderPipeline.setAlphaBlendFactors(this._alphaState._blendFunctionParameters, this._alphaState._blendEquationParameters);\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|