1 |
- {"ast":null,"code":"import { __decorate } from \"../../tslib.es6.js\";\nimport { serialize, serializeAsTexture, expandToProperty } from \"../../Misc/decorators.js\";\nimport { MaterialFlags } from \"../materialFlags.js\";\nimport { MaterialPluginBase } from \"../materialPluginBase.js\";\nimport { MaterialDefines } from \"../materialDefines.js\";\nimport { BindTextureMatrix, PrepareDefinesForMergedUV } from \"../materialHelper.functions.js\";\n/**\n * @internal\n */\nexport class MaterialIridescenceDefines extends MaterialDefines {\n constructor() {\n super(...arguments);\n this.IRIDESCENCE = false;\n this.IRIDESCENCE_TEXTURE = false;\n this.IRIDESCENCE_TEXTUREDIRECTUV = 0;\n this.IRIDESCENCE_THICKNESS_TEXTURE = false;\n this.IRIDESCENCE_THICKNESS_TEXTUREDIRECTUV = 0;\n }\n}\n/**\n * Plugin that implements the iridescence (thin film) component of the PBR material\n */\nexport class PBRIridescenceConfiguration extends MaterialPluginBase {\n /** @internal */\n _markAllSubMeshesAsTexturesDirty() {\n this._enable(this._isEnabled);\n this._internalMarkAllSubMeshesAsTexturesDirty();\n }\n /**\n * Gets a boolean indicating that the plugin is compatible with a given shader language.\n * @returns true if the plugin is compatible with the shader language\n */\n isCompatible() {\n return true;\n }\n constructor(material, addToPluginList = true) {\n super(material, \"PBRIridescence\", 110, new MaterialIridescenceDefines(), addToPluginList);\n this._isEnabled = false;\n /**\n * Defines if the iridescence is enabled in the material.\n */\n this.isEnabled = false;\n /**\n * Defines the iridescence layer strength (between 0 and 1) it defaults to 1.\n */\n this.intensity = 1;\n /**\n * Defines the minimum thickness of the thin-film layer given in nanometers (nm).\n */\n this.minimumThickness = PBRIridescenceConfiguration._DefaultMinimumThickness;\n /**\n * Defines the maximum thickness of the thin-film layer given in nanometers (nm). This will be the thickness used if not thickness texture has been set.\n */\n this.maximumThickness = PBRIridescenceConfiguration._DefaultMaximumThickness;\n /**\n * Defines the maximum thickness of the thin-film layer given in nanometers (nm).\n */\n this.indexOfRefraction = PBRIridescenceConfiguration._DefaultIndexOfRefraction;\n this._texture = null;\n /**\n * Stores the iridescence intensity in a texture (red channel)\n */\n this.texture = null;\n this._thicknessTexture = null;\n /**\n * Stores the iridescence thickness in a texture (green channel)\n */\n this.thicknessTexture = null;\n this._internalMarkAllSubMeshesAsTexturesDirty = material._dirtyCallbacks[1];\n }\n isReadyForSubMesh(defines, scene) {\n if (!this._isEnabled) {\n return true;\n }\n if (defines._areTexturesDirty) {\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\n if (!this._texture.isReadyOrNotBlocking()) {\n return false;\n }\n }\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\n if (!this._thicknessTexture.isReadyOrNotBlocking()) {\n return false;\n }\n }\n }\n }\n return true;\n }\n prepareDefinesBeforeAttributes(defines, scene) {\n if (this._isEnabled) {\n defines.IRIDESCENCE = true;\n if (defines._areTexturesDirty) {\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\n PrepareDefinesForMergedUV(this._texture, defines, \"IRIDESCENCE_TEXTURE\");\n } else {\n defines.IRIDESCENCE_TEXTURE = false;\n }\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\n PrepareDefinesForMergedUV(this._thicknessTexture, defines, \"IRIDESCENCE_THICKNESS_TEXTURE\");\n } else {\n defines.IRIDESCENCE_THICKNESS_TEXTURE = false;\n }\n }\n }\n } else {\n defines.IRIDESCENCE = false;\n defines.IRIDESCENCE_TEXTURE = false;\n defines.IRIDESCENCE_THICKNESS_TEXTURE = false;\n defines.IRIDESCENCE_TEXTUREDIRECTUV = 0;\n defines.IRIDESCENCE_THICKNESS_TEXTUREDIRECTUV = 0;\n }\n }\n bindForSubMesh(uniformBuffer, scene) {\n if (!this._isEnabled) {\n return;\n }\n const isFrozen = this._material.isFrozen;\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\n if ((this._texture || this._thicknessTexture) && MaterialFlags.IridescenceTextureEnabled) {\n var _this$_texture$coordi, _this$_texture, _this$_texture$level, _this$_texture2, _this$_thicknessTextu, _this$_thicknessTextu2, _this$_thicknessTextu3, _this$_thicknessTextu4;\n uniformBuffer.updateFloat4(\"vIridescenceInfos\", (_this$_texture$coordi = (_this$_texture = this._texture) === null || _this$_texture === void 0 ? void 0 : _this$_texture.coordinatesIndex) !== null && _this$_texture$coordi !== void 0 ? _this$_texture$coordi : 0, (_this$_texture$level = (_this$_texture2 = this._texture) === null || _this$_texture2 === void 0 ? void 0 : _this$_texture2.level) !== null && _this$_texture$level !== void 0 ? _this$_texture$level : 0, (_this$_thicknessTextu = (_this$_thicknessTextu2 = this._thicknessTexture) === null || _this$_thicknessTextu2 === void 0 ? void 0 : _this$_thicknessTextu2.coordinatesIndex) !== null && _this$_thicknessTextu !== void 0 ? _this$_thicknessTextu : 0, (_this$_thicknessTextu3 = (_this$_thicknessTextu4 = this._thicknessTexture) === null || _this$_thicknessTextu4 === void 0 ? void 0 : _this$_thicknessTextu4.level) !== null && _this$_thicknessTextu3 !== void 0 ? _this$_thicknessTextu3 : 0);\n if (this._texture) {\n BindTextureMatrix(this._texture, uniformBuffer, \"iridescence\");\n }\n if (this._thicknessTexture) {\n BindTextureMatrix(this._thicknessTexture, uniformBuffer, \"iridescenceThickness\");\n }\n }\n // Clear Coat General params\n uniformBuffer.updateFloat4(\"vIridescenceParams\", this.intensity, this.indexOfRefraction, this.minimumThickness, this.maximumThickness);\n }\n // Textures\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\n uniformBuffer.setTexture(\"iridescenceSampler\", this._texture);\n }\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\n uniformBuffer.setTexture(\"iridescenceThicknessSampler\", this._thicknessTexture);\n }\n }\n }\n hasTexture(texture) {\n if (this._texture === texture) {\n return true;\n }\n if (this._thicknessTexture === texture) {\n return true;\n }\n return false;\n }\n getActiveTextures(activeTextures) {\n if (this._texture) {\n activeTextures.push(this._texture);\n }\n if (this._thicknessTexture) {\n activeTextures.push(this._thicknessTexture);\n }\n }\n getAnimatables(animatables) {\n if (this._texture && this._texture.animations && this._texture.animations.length > 0) {\n animatables.push(this._texture);\n }\n if (this._thicknessTexture && this._thicknessTexture.animations && this._thicknessTexture.animations.length > 0) {\n animatables.push(this._thicknessTexture);\n }\n }\n dispose(forceDisposeTextures) {\n if (forceDisposeTextures) {\n var _this$_texture3, _this$_thicknessTextu5;\n (_this$_texture3 = this._texture) === null || _this$_texture3 === void 0 || _this$_texture3.dispose();\n (_this$_thicknessTextu5 = this._thicknessTexture) === null || _this$_thicknessTextu5 === void 0 || _this$_thicknessTextu5.dispose();\n }\n }\n getClassName() {\n return \"PBRIridescenceConfiguration\";\n }\n addFallbacks(defines, fallbacks, currentRank) {\n if (defines.IRIDESCENCE) {\n fallbacks.addFallback(currentRank++, \"IRIDESCENCE\");\n }\n return currentRank;\n }\n getSamplers(samplers) {\n samplers.push(\"iridescenceSampler\", \"iridescenceThicknessSampler\");\n }\n getUniforms() {\n return {\n ubo: [{\n name: \"vIridescenceParams\",\n size: 4,\n type: \"vec4\"\n }, {\n name: \"vIridescenceInfos\",\n size: 4,\n type: \"vec4\"\n }, {\n name: \"iridescenceMatrix\",\n size: 16,\n type: \"mat4\"\n }, {\n name: \"iridescenceThicknessMatrix\",\n size: 16,\n type: \"mat4\"\n }]\n };\n }\n}\n/**\n * The default minimum thickness of the thin-film layer given in nanometers (nm).\n * Defaults to 100 nm.\n * @internal\n */\nPBRIridescenceConfiguration._DefaultMinimumThickness = 100;\n/**\n * The default maximum thickness of the thin-film layer given in nanometers (nm).\n * Defaults to 400 nm.\n * @internal\n */\nPBRIridescenceConfiguration._DefaultMaximumThickness = 400;\n/**\n * The default index of refraction of the thin-film layer.\n * Defaults to 1.3\n * @internal\n */\nPBRIridescenceConfiguration._DefaultIndexOfRefraction = 1.3;\n__decorate([serialize(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRIridescenceConfiguration.prototype, \"isEnabled\", void 0);\n__decorate([serialize()], PBRIridescenceConfiguration.prototype, \"intensity\", void 0);\n__decorate([serialize()], PBRIridescenceConfiguration.prototype, \"minimumThickness\", void 0);\n__decorate([serialize()], PBRIridescenceConfiguration.prototype, \"maximumThickness\", void 0);\n__decorate([serialize()], PBRIridescenceConfiguration.prototype, \"indexOfRefraction\", void 0);\n__decorate([serializeAsTexture(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRIridescenceConfiguration.prototype, \"texture\", void 0);\n__decorate([serializeAsTexture(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRIridescenceConfiguration.prototype, \"thicknessTexture\", void 0);","map":{"version":3,"names":["__decorate","serialize","serializeAsTexture","expandToProperty","MaterialFlags","MaterialPluginBase","MaterialDefines","BindTextureMatrix","PrepareDefinesForMergedUV","MaterialIridescenceDefines","constructor","arguments","IRIDESCENCE","IRIDESCENCE_TEXTURE","IRIDESCENCE_TEXTUREDIRECTUV","IRIDESCENCE_THICKNESS_TEXTURE","IRIDESCENCE_THICKNESS_TEXTUREDIRECTUV","PBRIridescenceConfiguration","_markAllSubMeshesAsTexturesDirty","_enable","_isEnabled","_internalMarkAllSubMeshesAsTexturesDirty","isCompatible","material","addToPluginList","isEnabled","intensity","minimumThickness","_DefaultMinimumThickness","maximumThickness","_DefaultMaximumThickness","indexOfRefraction","_DefaultIndexOfRefraction","_texture","texture","_thicknessTexture","thicknessTexture","_dirtyCallbacks","isReadyForSubMesh","defines","scene","_areTexturesDirty","texturesEnabled","IridescenceTextureEnabled","isReadyOrNotBlocking","prepareDefinesBeforeAttributes","bindForSubMesh","uniformBuffer","isFrozen","_material","useUbo","isSync","_this$_texture$coordi","_this$_texture","_this$_texture$level","_this$_texture2","_this$_thicknessTextu","_this$_thicknessTextu2","_this$_thicknessTextu3","_this$_thicknessTextu4","updateFloat4","coordinatesIndex","level","setTexture","hasTexture","getActiveTextures","activeTextures","push","getAnimatables","animatables","animations","length","dispose","forceDisposeTextures","_this$_texture3","_this$_thicknessTextu5","getClassName","addFallbacks","fallbacks","currentRank","addFallback","getSamplers","samplers","getUniforms","ubo","name","size","type","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/PBR/pbrIridescenceConfiguration.js"],"sourcesContent":["import { __decorate } from \"../../tslib.es6.js\";\nimport { serialize, serializeAsTexture, expandToProperty } from \"../../Misc/decorators.js\";\nimport { MaterialFlags } from \"../materialFlags.js\";\n\nimport { MaterialPluginBase } from \"../materialPluginBase.js\";\nimport { MaterialDefines } from \"../materialDefines.js\";\nimport { BindTextureMatrix, PrepareDefinesForMergedUV } from \"../materialHelper.functions.js\";\n/**\n * @internal\n */\nexport class MaterialIridescenceDefines extends MaterialDefines {\n constructor() {\n super(...arguments);\n this.IRIDESCENCE = false;\n this.IRIDESCENCE_TEXTURE = false;\n this.IRIDESCENCE_TEXTUREDIRECTUV = 0;\n this.IRIDESCENCE_THICKNESS_TEXTURE = false;\n this.IRIDESCENCE_THICKNESS_TEXTUREDIRECTUV = 0;\n }\n}\n/**\n * Plugin that implements the iridescence (thin film) component of the PBR material\n */\nexport class PBRIridescenceConfiguration extends MaterialPluginBase {\n /** @internal */\n _markAllSubMeshesAsTexturesDirty() {\n this._enable(this._isEnabled);\n this._internalMarkAllSubMeshesAsTexturesDirty();\n }\n /**\n * Gets a boolean indicating that the plugin is compatible with a given shader language.\n * @returns true if the plugin is compatible with the shader language\n */\n isCompatible() {\n return true;\n }\n constructor(material, addToPluginList = true) {\n super(material, \"PBRIridescence\", 110, new MaterialIridescenceDefines(), addToPluginList);\n this._isEnabled = false;\n /**\n * Defines if the iridescence is enabled in the material.\n */\n this.isEnabled = false;\n /**\n * Defines the iridescence layer strength (between 0 and 1) it defaults to 1.\n */\n this.intensity = 1;\n /**\n * Defines the minimum thickness of the thin-film layer given in nanometers (nm).\n */\n this.minimumThickness = PBRIridescenceConfiguration._DefaultMinimumThickness;\n /**\n * Defines the maximum thickness of the thin-film layer given in nanometers (nm). This will be the thickness used if not thickness texture has been set.\n */\n this.maximumThickness = PBRIridescenceConfiguration._DefaultMaximumThickness;\n /**\n * Defines the maximum thickness of the thin-film layer given in nanometers (nm).\n */\n this.indexOfRefraction = PBRIridescenceConfiguration._DefaultIndexOfRefraction;\n this._texture = null;\n /**\n * Stores the iridescence intensity in a texture (red channel)\n */\n this.texture = null;\n this._thicknessTexture = null;\n /**\n * Stores the iridescence thickness in a texture (green channel)\n */\n this.thicknessTexture = null;\n this._internalMarkAllSubMeshesAsTexturesDirty = material._dirtyCallbacks[1];\n }\n isReadyForSubMesh(defines, scene) {\n if (!this._isEnabled) {\n return true;\n }\n if (defines._areTexturesDirty) {\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\n if (!this._texture.isReadyOrNotBlocking()) {\n return false;\n }\n }\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\n if (!this._thicknessTexture.isReadyOrNotBlocking()) {\n return false;\n }\n }\n }\n }\n return true;\n }\n prepareDefinesBeforeAttributes(defines, scene) {\n if (this._isEnabled) {\n defines.IRIDESCENCE = true;\n if (defines._areTexturesDirty) {\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\n PrepareDefinesForMergedUV(this._texture, defines, \"IRIDESCENCE_TEXTURE\");\n }\n else {\n defines.IRIDESCENCE_TEXTURE = false;\n }\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\n PrepareDefinesForMergedUV(this._thicknessTexture, defines, \"IRIDESCENCE_THICKNESS_TEXTURE\");\n }\n else {\n defines.IRIDESCENCE_THICKNESS_TEXTURE = false;\n }\n }\n }\n }\n else {\n defines.IRIDESCENCE = false;\n defines.IRIDESCENCE_TEXTURE = false;\n defines.IRIDESCENCE_THICKNESS_TEXTURE = false;\n defines.IRIDESCENCE_TEXTUREDIRECTUV = 0;\n defines.IRIDESCENCE_THICKNESS_TEXTUREDIRECTUV = 0;\n }\n }\n bindForSubMesh(uniformBuffer, scene) {\n if (!this._isEnabled) {\n return;\n }\n const isFrozen = this._material.isFrozen;\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\n if ((this._texture || this._thicknessTexture) && MaterialFlags.IridescenceTextureEnabled) {\n uniformBuffer.updateFloat4(\"vIridescenceInfos\", this._texture?.coordinatesIndex ?? 0, this._texture?.level ?? 0, this._thicknessTexture?.coordinatesIndex ?? 0, this._thicknessTexture?.level ?? 0);\n if (this._texture) {\n BindTextureMatrix(this._texture, uniformBuffer, \"iridescence\");\n }\n if (this._thicknessTexture) {\n BindTextureMatrix(this._thicknessTexture, uniformBuffer, \"iridescenceThickness\");\n }\n }\n // Clear Coat General params\n uniformBuffer.updateFloat4(\"vIridescenceParams\", this.intensity, this.indexOfRefraction, this.minimumThickness, this.maximumThickness);\n }\n // Textures\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.IridescenceTextureEnabled) {\n uniformBuffer.setTexture(\"iridescenceSampler\", this._texture);\n }\n if (this._thicknessTexture && MaterialFlags.IridescenceTextureEnabled) {\n uniformBuffer.setTexture(\"iridescenceThicknessSampler\", this._thicknessTexture);\n }\n }\n }\n hasTexture(texture) {\n if (this._texture === texture) {\n return true;\n }\n if (this._thicknessTexture === texture) {\n return true;\n }\n return false;\n }\n getActiveTextures(activeTextures) {\n if (this._texture) {\n activeTextures.push(this._texture);\n }\n if (this._thicknessTexture) {\n activeTextures.push(this._thicknessTexture);\n }\n }\n getAnimatables(animatables) {\n if (this._texture && this._texture.animations && this._texture.animations.length > 0) {\n animatables.push(this._texture);\n }\n if (this._thicknessTexture && this._thicknessTexture.animations && this._thicknessTexture.animations.length > 0) {\n animatables.push(this._thicknessTexture);\n }\n }\n dispose(forceDisposeTextures) {\n if (forceDisposeTextures) {\n this._texture?.dispose();\n this._thicknessTexture?.dispose();\n }\n }\n getClassName() {\n return \"PBRIridescenceConfiguration\";\n }\n addFallbacks(defines, fallbacks, currentRank) {\n if (defines.IRIDESCENCE) {\n fallbacks.addFallback(currentRank++, \"IRIDESCENCE\");\n }\n return currentRank;\n }\n getSamplers(samplers) {\n samplers.push(\"iridescenceSampler\", \"iridescenceThicknessSampler\");\n }\n getUniforms() {\n return {\n ubo: [\n { name: \"vIridescenceParams\", size: 4, type: \"vec4\" },\n { name: \"vIridescenceInfos\", size: 4, type: \"vec4\" },\n { name: \"iridescenceMatrix\", size: 16, type: \"mat4\" },\n { name: \"iridescenceThicknessMatrix\", size: 16, type: \"mat4\" },\n ],\n };\n }\n}\n/**\n * The default minimum thickness of the thin-film layer given in nanometers (nm).\n * Defaults to 100 nm.\n * @internal\n */\nPBRIridescenceConfiguration._DefaultMinimumThickness = 100;\n/**\n * The default maximum thickness of the thin-film layer given in nanometers (nm).\n * Defaults to 400 nm.\n * @internal\n */\nPBRIridescenceConfiguration._DefaultMaximumThickness = 400;\n/**\n * The default index of refraction of the thin-film layer.\n * Defaults to 1.3\n * @internal\n */\nPBRIridescenceConfiguration._DefaultIndexOfRefraction = 1.3;\n__decorate([\n serialize(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRIridescenceConfiguration.prototype, \"isEnabled\", void 0);\n__decorate([\n serialize()\n], PBRIridescenceConfiguration.prototype, \"intensity\", void 0);\n__decorate([\n serialize()\n], PBRIridescenceConfiguration.prototype, \"minimumThickness\", void 0);\n__decorate([\n serialize()\n], PBRIridescenceConfiguration.prototype, \"maximumThickness\", void 0);\n__decorate([\n serialize()\n], PBRIridescenceConfiguration.prototype, \"indexOfRefraction\", void 0);\n__decorate([\n serializeAsTexture(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRIridescenceConfiguration.prototype, \"texture\", void 0);\n__decorate([\n serializeAsTexture(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRIridescenceConfiguration.prototype, \"thicknessTexture\", void 0);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|