1 |
- {"ast":null,"code":"import { __decorate } from \"../../tslib.es6.js\";\nimport { serialize, serializeAsTexture, expandToProperty, serializeAsColor3 } from \"../../Misc/decorators.js\";\nimport { Color3 } from \"../../Maths/math.color.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 MaterialClearCoatDefines extends MaterialDefines {\n constructor() {\n super(...arguments);\n this.CLEARCOAT = false;\n this.CLEARCOAT_DEFAULTIOR = false;\n this.CLEARCOAT_TEXTURE = false;\n this.CLEARCOAT_TEXTURE_ROUGHNESS = false;\n this.CLEARCOAT_TEXTUREDIRECTUV = 0;\n this.CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV = 0;\n this.CLEARCOAT_BUMP = false;\n this.CLEARCOAT_BUMPDIRECTUV = 0;\n this.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = false;\n this.CLEARCOAT_REMAP_F0 = false;\n this.CLEARCOAT_TINT = false;\n this.CLEARCOAT_TINT_TEXTURE = false;\n this.CLEARCOAT_TINT_TEXTUREDIRECTUV = 0;\n this.CLEARCOAT_TINT_GAMMATEXTURE = false;\n }\n}\n/**\n * Plugin that implements the clear coat component of the PBR material\n */\nexport class PBRClearCoatConfiguration 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, \"PBRClearCoat\", 100, new MaterialClearCoatDefines(), addToPluginList);\n this._isEnabled = false;\n /**\n * Defines if the clear coat is enabled in the material.\n */\n this.isEnabled = false;\n /**\n * Defines the clear coat layer strength (between 0 and 1) it defaults to 1.\n */\n this.intensity = 1;\n /**\n * Defines the clear coat layer roughness.\n */\n this.roughness = 0;\n this._indexOfRefraction = PBRClearCoatConfiguration._DefaultIndexOfRefraction;\n /**\n * Defines the index of refraction of the clear coat.\n * This defaults to 1.5 corresponding to a 0.04 f0 or a 4% reflectance at normal incidence\n * The default fits with a polyurethane material.\n * Changing the default value is more performance intensive.\n */\n this.indexOfRefraction = PBRClearCoatConfiguration._DefaultIndexOfRefraction;\n this._texture = null;\n /**\n * Stores the clear coat values in a texture (red channel is intensity and green channel is roughness)\n * If useRoughnessFromMainTexture is false, the green channel of texture is not used and the green channel of textureRoughness is used instead\n * if textureRoughness is not empty, else no texture roughness is used\n */\n this.texture = null;\n this._useRoughnessFromMainTexture = true;\n /**\n * Indicates that the green channel of the texture property will be used for roughness (default: true)\n * If false, the green channel from textureRoughness is used for roughness\n */\n this.useRoughnessFromMainTexture = true;\n this._textureRoughness = null;\n /**\n * Stores the clear coat roughness in a texture (green channel)\n * Not used if useRoughnessFromMainTexture is true\n */\n this.textureRoughness = null;\n this._remapF0OnInterfaceChange = true;\n /**\n * Defines if the F0 value should be remapped to account for the interface change in the material.\n */\n this.remapF0OnInterfaceChange = true;\n this._bumpTexture = null;\n /**\n * Define the clear coat specific bump texture.\n */\n this.bumpTexture = null;\n this._isTintEnabled = false;\n /**\n * Defines if the clear coat tint is enabled in the material.\n */\n this.isTintEnabled = false;\n /**\n * Defines the clear coat tint of the material.\n * This is only use if tint is enabled\n */\n this.tintColor = Color3.White();\n /**\n * Defines the distance at which the tint color should be found in the\n * clear coat media.\n * This is only use if tint is enabled\n */\n this.tintColorAtDistance = 1;\n /**\n * Defines the clear coat layer thickness.\n * This is only use if tint is enabled\n */\n this.tintThickness = 1;\n this._tintTexture = null;\n /**\n * Stores the clear tint values in a texture.\n * rgb is tint\n * a is a thickness factor\n */\n this.tintTexture = null;\n this._internalMarkAllSubMeshesAsTexturesDirty = material._dirtyCallbacks[1];\n }\n isReadyForSubMesh(defines, scene, engine) {\n if (!this._isEnabled) {\n return true;\n }\n const disableBumpMap = this._material._disableBumpMap;\n if (defines._areTexturesDirty) {\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.ClearCoatTextureEnabled) {\n if (!this._texture.isReadyOrNotBlocking()) {\n return false;\n }\n }\n if (this._textureRoughness && MaterialFlags.ClearCoatTextureEnabled) {\n if (!this._textureRoughness.isReadyOrNotBlocking()) {\n return false;\n }\n }\n if (engine.getCaps().standardDerivatives && this._bumpTexture && MaterialFlags.ClearCoatBumpTextureEnabled && !disableBumpMap) {\n // Bump texture cannot be not blocking.\n if (!this._bumpTexture.isReady()) {\n return false;\n }\n }\n if (this._isTintEnabled && this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n if (!this._tintTexture.isReadyOrNotBlocking()) {\n return false;\n }\n }\n }\n }\n return true;\n }\n prepareDefinesBeforeAttributes(defines, scene) {\n if (this._isEnabled) {\n defines.CLEARCOAT = true;\n defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = this._useRoughnessFromMainTexture;\n defines.CLEARCOAT_REMAP_F0 = this._remapF0OnInterfaceChange;\n if (defines._areTexturesDirty) {\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.ClearCoatTextureEnabled) {\n PrepareDefinesForMergedUV(this._texture, defines, \"CLEARCOAT_TEXTURE\");\n } else {\n defines.CLEARCOAT_TEXTURE = false;\n }\n if (this._textureRoughness && MaterialFlags.ClearCoatTextureEnabled) {\n PrepareDefinesForMergedUV(this._textureRoughness, defines, \"CLEARCOAT_TEXTURE_ROUGHNESS\");\n } else {\n defines.CLEARCOAT_TEXTURE_ROUGHNESS = false;\n }\n if (this._bumpTexture && MaterialFlags.ClearCoatBumpTextureEnabled) {\n PrepareDefinesForMergedUV(this._bumpTexture, defines, \"CLEARCOAT_BUMP\");\n } else {\n defines.CLEARCOAT_BUMP = false;\n }\n defines.CLEARCOAT_DEFAULTIOR = this._indexOfRefraction === PBRClearCoatConfiguration._DefaultIndexOfRefraction;\n if (this._isTintEnabled) {\n defines.CLEARCOAT_TINT = true;\n if (this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n PrepareDefinesForMergedUV(this._tintTexture, defines, \"CLEARCOAT_TINT_TEXTURE\");\n defines.CLEARCOAT_TINT_GAMMATEXTURE = this._tintTexture.gammaSpace;\n } else {\n defines.CLEARCOAT_TINT_TEXTURE = false;\n }\n } else {\n defines.CLEARCOAT_TINT = false;\n defines.CLEARCOAT_TINT_TEXTURE = false;\n }\n }\n }\n } else {\n defines.CLEARCOAT = false;\n defines.CLEARCOAT_TEXTURE = false;\n defines.CLEARCOAT_TEXTURE_ROUGHNESS = false;\n defines.CLEARCOAT_BUMP = false;\n defines.CLEARCOAT_TINT = false;\n defines.CLEARCOAT_TINT_TEXTURE = false;\n defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = false;\n defines.CLEARCOAT_DEFAULTIOR = false;\n defines.CLEARCOAT_TEXTUREDIRECTUV = 0;\n defines.CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV = 0;\n defines.CLEARCOAT_BUMPDIRECTUV = 0;\n defines.CLEARCOAT_REMAP_F0 = false;\n defines.CLEARCOAT_TINT_TEXTUREDIRECTUV = 0;\n defines.CLEARCOAT_TINT_GAMMATEXTURE = false;\n }\n }\n bindForSubMesh(uniformBuffer, scene, engine, subMesh) {\n if (!this._isEnabled) {\n return;\n }\n const defines = subMesh.materialDefines;\n const isFrozen = this._material.isFrozen;\n const disableBumpMap = this._material._disableBumpMap;\n const invertNormalMapX = this._material._invertNormalMapX;\n const invertNormalMapY = this._material._invertNormalMapY;\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\n if ((this._texture || this._textureRoughness) && MaterialFlags.ClearCoatTextureEnabled) {\n var _this$_texture$coordi, _this$_texture, _this$_texture$level, _this$_texture2, _this$_textureRoughne, _this$_textureRoughne2, _this$_textureRoughne3, _this$_textureRoughne4;\n uniformBuffer.updateFloat4(\"vClearCoatInfos\", (_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$_textureRoughne = (_this$_textureRoughne2 = this._textureRoughness) === null || _this$_textureRoughne2 === void 0 ? void 0 : _this$_textureRoughne2.coordinatesIndex) !== null && _this$_textureRoughne !== void 0 ? _this$_textureRoughne : 0, (_this$_textureRoughne3 = (_this$_textureRoughne4 = this._textureRoughness) === null || _this$_textureRoughne4 === void 0 ? void 0 : _this$_textureRoughne4.level) !== null && _this$_textureRoughne3 !== void 0 ? _this$_textureRoughne3 : 0);\n if (this._texture) {\n BindTextureMatrix(this._texture, uniformBuffer, \"clearCoat\");\n }\n if (this._textureRoughness && !defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE) {\n BindTextureMatrix(this._textureRoughness, uniformBuffer, \"clearCoatRoughness\");\n }\n }\n if (this._bumpTexture && engine.getCaps().standardDerivatives && MaterialFlags.ClearCoatTextureEnabled && !disableBumpMap) {\n uniformBuffer.updateFloat2(\"vClearCoatBumpInfos\", this._bumpTexture.coordinatesIndex, this._bumpTexture.level);\n BindTextureMatrix(this._bumpTexture, uniformBuffer, \"clearCoatBump\");\n if (scene._mirroredCameraPosition) {\n uniformBuffer.updateFloat2(\"vClearCoatTangentSpaceParams\", invertNormalMapX ? 1.0 : -1.0, invertNormalMapY ? 1.0 : -1.0);\n } else {\n uniformBuffer.updateFloat2(\"vClearCoatTangentSpaceParams\", invertNormalMapX ? -1.0 : 1.0, invertNormalMapY ? -1.0 : 1.0);\n }\n }\n if (this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n uniformBuffer.updateFloat2(\"vClearCoatTintInfos\", this._tintTexture.coordinatesIndex, this._tintTexture.level);\n BindTextureMatrix(this._tintTexture, uniformBuffer, \"clearCoatTint\");\n }\n // Clear Coat General params\n uniformBuffer.updateFloat2(\"vClearCoatParams\", this.intensity, this.roughness);\n // Clear Coat Refraction params\n const a = 1 - this._indexOfRefraction;\n const b = 1 + this._indexOfRefraction;\n const f0 = Math.pow(-a / b, 2); // Schlicks approx: (ior1 - ior2) / (ior1 + ior2) where ior2 for air is close to vacuum = 1.\n const eta = 1 / this._indexOfRefraction;\n uniformBuffer.updateFloat4(\"vClearCoatRefractionParams\", f0, eta, a, b);\n if (this._isTintEnabled) {\n uniformBuffer.updateFloat4(\"vClearCoatTintParams\", this.tintColor.r, this.tintColor.g, this.tintColor.b, Math.max(0.00001, this.tintThickness));\n uniformBuffer.updateFloat(\"clearCoatColorAtDistance\", Math.max(0.00001, this.tintColorAtDistance));\n }\n }\n // Textures\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.ClearCoatTextureEnabled) {\n uniformBuffer.setTexture(\"clearCoatSampler\", this._texture);\n }\n if (this._textureRoughness && !defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE && MaterialFlags.ClearCoatTextureEnabled) {\n uniformBuffer.setTexture(\"clearCoatRoughnessSampler\", this._textureRoughness);\n }\n if (this._bumpTexture && engine.getCaps().standardDerivatives && MaterialFlags.ClearCoatBumpTextureEnabled && !disableBumpMap) {\n uniformBuffer.setTexture(\"clearCoatBumpSampler\", this._bumpTexture);\n }\n if (this._isTintEnabled && this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n uniformBuffer.setTexture(\"clearCoatTintSampler\", this._tintTexture);\n }\n }\n }\n hasTexture(texture) {\n if (this._texture === texture) {\n return true;\n }\n if (this._textureRoughness === texture) {\n return true;\n }\n if (this._bumpTexture === texture) {\n return true;\n }\n if (this._tintTexture === 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._textureRoughness) {\n activeTextures.push(this._textureRoughness);\n }\n if (this._bumpTexture) {\n activeTextures.push(this._bumpTexture);\n }\n if (this._tintTexture) {\n activeTextures.push(this._tintTexture);\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._textureRoughness && this._textureRoughness.animations && this._textureRoughness.animations.length > 0) {\n animatables.push(this._textureRoughness);\n }\n if (this._bumpTexture && this._bumpTexture.animations && this._bumpTexture.animations.length > 0) {\n animatables.push(this._bumpTexture);\n }\n if (this._tintTexture && this._tintTexture.animations && this._tintTexture.animations.length > 0) {\n animatables.push(this._tintTexture);\n }\n }\n dispose(forceDisposeTextures) {\n if (forceDisposeTextures) {\n var _this$_texture3, _this$_textureRoughne5, _this$_bumpTexture, _this$_tintTexture;\n (_this$_texture3 = this._texture) === null || _this$_texture3 === void 0 || _this$_texture3.dispose();\n (_this$_textureRoughne5 = this._textureRoughness) === null || _this$_textureRoughne5 === void 0 || _this$_textureRoughne5.dispose();\n (_this$_bumpTexture = this._bumpTexture) === null || _this$_bumpTexture === void 0 || _this$_bumpTexture.dispose();\n (_this$_tintTexture = this._tintTexture) === null || _this$_tintTexture === void 0 || _this$_tintTexture.dispose();\n }\n }\n getClassName() {\n return \"PBRClearCoatConfiguration\";\n }\n addFallbacks(defines, fallbacks, currentRank) {\n if (defines.CLEARCOAT_BUMP) {\n fallbacks.addFallback(currentRank++, \"CLEARCOAT_BUMP\");\n }\n if (defines.CLEARCOAT_TINT) {\n fallbacks.addFallback(currentRank++, \"CLEARCOAT_TINT\");\n }\n if (defines.CLEARCOAT) {\n fallbacks.addFallback(currentRank++, \"CLEARCOAT\");\n }\n return currentRank;\n }\n getSamplers(samplers) {\n samplers.push(\"clearCoatSampler\", \"clearCoatRoughnessSampler\", \"clearCoatBumpSampler\", \"clearCoatTintSampler\");\n }\n getUniforms() {\n return {\n ubo: [{\n name: \"vClearCoatParams\",\n size: 2,\n type: \"vec2\"\n }, {\n name: \"vClearCoatRefractionParams\",\n size: 4,\n type: \"vec4\"\n }, {\n name: \"vClearCoatInfos\",\n size: 4,\n type: \"vec4\"\n }, {\n name: \"clearCoatMatrix\",\n size: 16,\n type: \"mat4\"\n }, {\n name: \"clearCoatRoughnessMatrix\",\n size: 16,\n type: \"mat4\"\n }, {\n name: \"vClearCoatBumpInfos\",\n size: 2,\n type: \"vec2\"\n }, {\n name: \"vClearCoatTangentSpaceParams\",\n size: 2,\n type: \"vec2\"\n }, {\n name: \"clearCoatBumpMatrix\",\n size: 16,\n type: \"mat4\"\n }, {\n name: \"vClearCoatTintParams\",\n size: 4,\n type: \"vec4\"\n }, {\n name: \"clearCoatColorAtDistance\",\n size: 1,\n type: \"float\"\n }, {\n name: \"vClearCoatTintInfos\",\n size: 2,\n type: \"vec2\"\n }, {\n name: \"clearCoatTintMatrix\",\n size: 16,\n type: \"mat4\"\n }]\n };\n }\n}\n/**\n * This defaults to 1.5 corresponding to a 0.04 f0 or a 4% reflectance at normal incidence\n * The default fits with a polyurethane material.\n * @internal\n */\nPBRClearCoatConfiguration._DefaultIndexOfRefraction = 1.5;\n__decorate([serialize(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRClearCoatConfiguration.prototype, \"isEnabled\", void 0);\n__decorate([serialize()], PBRClearCoatConfiguration.prototype, \"intensity\", void 0);\n__decorate([serialize()], PBRClearCoatConfiguration.prototype, \"roughness\", void 0);\n__decorate([serialize(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRClearCoatConfiguration.prototype, \"indexOfRefraction\", void 0);\n__decorate([serializeAsTexture(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRClearCoatConfiguration.prototype, \"texture\", void 0);\n__decorate([serialize(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRClearCoatConfiguration.prototype, \"useRoughnessFromMainTexture\", void 0);\n__decorate([serializeAsTexture(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRClearCoatConfiguration.prototype, \"textureRoughness\", void 0);\n__decorate([serialize(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRClearCoatConfiguration.prototype, \"remapF0OnInterfaceChange\", void 0);\n__decorate([serializeAsTexture(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRClearCoatConfiguration.prototype, \"bumpTexture\", void 0);\n__decorate([serialize(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRClearCoatConfiguration.prototype, \"isTintEnabled\", void 0);\n__decorate([serializeAsColor3()], PBRClearCoatConfiguration.prototype, \"tintColor\", void 0);\n__decorate([serialize()], PBRClearCoatConfiguration.prototype, \"tintColorAtDistance\", void 0);\n__decorate([serialize()], PBRClearCoatConfiguration.prototype, \"tintThickness\", void 0);\n__decorate([serializeAsTexture(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRClearCoatConfiguration.prototype, \"tintTexture\", void 0);","map":{"version":3,"names":["__decorate","serialize","serializeAsTexture","expandToProperty","serializeAsColor3","Color3","MaterialFlags","MaterialPluginBase","MaterialDefines","BindTextureMatrix","PrepareDefinesForMergedUV","MaterialClearCoatDefines","constructor","arguments","CLEARCOAT","CLEARCOAT_DEFAULTIOR","CLEARCOAT_TEXTURE","CLEARCOAT_TEXTURE_ROUGHNESS","CLEARCOAT_TEXTUREDIRECTUV","CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV","CLEARCOAT_BUMP","CLEARCOAT_BUMPDIRECTUV","CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE","CLEARCOAT_REMAP_F0","CLEARCOAT_TINT","CLEARCOAT_TINT_TEXTURE","CLEARCOAT_TINT_TEXTUREDIRECTUV","CLEARCOAT_TINT_GAMMATEXTURE","PBRClearCoatConfiguration","_markAllSubMeshesAsTexturesDirty","_enable","_isEnabled","_internalMarkAllSubMeshesAsTexturesDirty","isCompatible","material","addToPluginList","isEnabled","intensity","roughness","_indexOfRefraction","_DefaultIndexOfRefraction","indexOfRefraction","_texture","texture","_useRoughnessFromMainTexture","useRoughnessFromMainTexture","_textureRoughness","textureRoughness","_remapF0OnInterfaceChange","remapF0OnInterfaceChange","_bumpTexture","bumpTexture","_isTintEnabled","isTintEnabled","tintColor","White","tintColorAtDistance","tintThickness","_tintTexture","tintTexture","_dirtyCallbacks","isReadyForSubMesh","defines","scene","engine","disableBumpMap","_material","_disableBumpMap","_areTexturesDirty","texturesEnabled","ClearCoatTextureEnabled","isReadyOrNotBlocking","getCaps","standardDerivatives","ClearCoatBumpTextureEnabled","isReady","ClearCoatTintTextureEnabled","prepareDefinesBeforeAttributes","gammaSpace","bindForSubMesh","uniformBuffer","subMesh","materialDefines","isFrozen","invertNormalMapX","_invertNormalMapX","invertNormalMapY","_invertNormalMapY","useUbo","isSync","_this$_texture$coordi","_this$_texture","_this$_texture$level","_this$_texture2","_this$_textureRoughne","_this$_textureRoughne2","_this$_textureRoughne3","_this$_textureRoughne4","updateFloat4","coordinatesIndex","level","updateFloat2","_mirroredCameraPosition","a","b","f0","Math","pow","eta","r","g","max","updateFloat","setTexture","hasTexture","getActiveTextures","activeTextures","push","getAnimatables","animatables","animations","length","dispose","forceDisposeTextures","_this$_texture3","_this$_textureRoughne5","_this$_bumpTexture","_this$_tintTexture","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/pbrClearCoatConfiguration.js"],"sourcesContent":["import { __decorate } from \"../../tslib.es6.js\";\nimport { serialize, serializeAsTexture, expandToProperty, serializeAsColor3 } from \"../../Misc/decorators.js\";\nimport { Color3 } from \"../../Maths/math.color.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 MaterialClearCoatDefines extends MaterialDefines {\n constructor() {\n super(...arguments);\n this.CLEARCOAT = false;\n this.CLEARCOAT_DEFAULTIOR = false;\n this.CLEARCOAT_TEXTURE = false;\n this.CLEARCOAT_TEXTURE_ROUGHNESS = false;\n this.CLEARCOAT_TEXTUREDIRECTUV = 0;\n this.CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV = 0;\n this.CLEARCOAT_BUMP = false;\n this.CLEARCOAT_BUMPDIRECTUV = 0;\n this.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = false;\n this.CLEARCOAT_REMAP_F0 = false;\n this.CLEARCOAT_TINT = false;\n this.CLEARCOAT_TINT_TEXTURE = false;\n this.CLEARCOAT_TINT_TEXTUREDIRECTUV = 0;\n this.CLEARCOAT_TINT_GAMMATEXTURE = false;\n }\n}\n/**\n * Plugin that implements the clear coat component of the PBR material\n */\nexport class PBRClearCoatConfiguration 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, \"PBRClearCoat\", 100, new MaterialClearCoatDefines(), addToPluginList);\n this._isEnabled = false;\n /**\n * Defines if the clear coat is enabled in the material.\n */\n this.isEnabled = false;\n /**\n * Defines the clear coat layer strength (between 0 and 1) it defaults to 1.\n */\n this.intensity = 1;\n /**\n * Defines the clear coat layer roughness.\n */\n this.roughness = 0;\n this._indexOfRefraction = PBRClearCoatConfiguration._DefaultIndexOfRefraction;\n /**\n * Defines the index of refraction of the clear coat.\n * This defaults to 1.5 corresponding to a 0.04 f0 or a 4% reflectance at normal incidence\n * The default fits with a polyurethane material.\n * Changing the default value is more performance intensive.\n */\n this.indexOfRefraction = PBRClearCoatConfiguration._DefaultIndexOfRefraction;\n this._texture = null;\n /**\n * Stores the clear coat values in a texture (red channel is intensity and green channel is roughness)\n * If useRoughnessFromMainTexture is false, the green channel of texture is not used and the green channel of textureRoughness is used instead\n * if textureRoughness is not empty, else no texture roughness is used\n */\n this.texture = null;\n this._useRoughnessFromMainTexture = true;\n /**\n * Indicates that the green channel of the texture property will be used for roughness (default: true)\n * If false, the green channel from textureRoughness is used for roughness\n */\n this.useRoughnessFromMainTexture = true;\n this._textureRoughness = null;\n /**\n * Stores the clear coat roughness in a texture (green channel)\n * Not used if useRoughnessFromMainTexture is true\n */\n this.textureRoughness = null;\n this._remapF0OnInterfaceChange = true;\n /**\n * Defines if the F0 value should be remapped to account for the interface change in the material.\n */\n this.remapF0OnInterfaceChange = true;\n this._bumpTexture = null;\n /**\n * Define the clear coat specific bump texture.\n */\n this.bumpTexture = null;\n this._isTintEnabled = false;\n /**\n * Defines if the clear coat tint is enabled in the material.\n */\n this.isTintEnabled = false;\n /**\n * Defines the clear coat tint of the material.\n * This is only use if tint is enabled\n */\n this.tintColor = Color3.White();\n /**\n * Defines the distance at which the tint color should be found in the\n * clear coat media.\n * This is only use if tint is enabled\n */\n this.tintColorAtDistance = 1;\n /**\n * Defines the clear coat layer thickness.\n * This is only use if tint is enabled\n */\n this.tintThickness = 1;\n this._tintTexture = null;\n /**\n * Stores the clear tint values in a texture.\n * rgb is tint\n * a is a thickness factor\n */\n this.tintTexture = null;\n this._internalMarkAllSubMeshesAsTexturesDirty = material._dirtyCallbacks[1];\n }\n isReadyForSubMesh(defines, scene, engine) {\n if (!this._isEnabled) {\n return true;\n }\n const disableBumpMap = this._material._disableBumpMap;\n if (defines._areTexturesDirty) {\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.ClearCoatTextureEnabled) {\n if (!this._texture.isReadyOrNotBlocking()) {\n return false;\n }\n }\n if (this._textureRoughness && MaterialFlags.ClearCoatTextureEnabled) {\n if (!this._textureRoughness.isReadyOrNotBlocking()) {\n return false;\n }\n }\n if (engine.getCaps().standardDerivatives && this._bumpTexture && MaterialFlags.ClearCoatBumpTextureEnabled && !disableBumpMap) {\n // Bump texture cannot be not blocking.\n if (!this._bumpTexture.isReady()) {\n return false;\n }\n }\n if (this._isTintEnabled && this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n if (!this._tintTexture.isReadyOrNotBlocking()) {\n return false;\n }\n }\n }\n }\n return true;\n }\n prepareDefinesBeforeAttributes(defines, scene) {\n if (this._isEnabled) {\n defines.CLEARCOAT = true;\n defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = this._useRoughnessFromMainTexture;\n defines.CLEARCOAT_REMAP_F0 = this._remapF0OnInterfaceChange;\n if (defines._areTexturesDirty) {\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.ClearCoatTextureEnabled) {\n PrepareDefinesForMergedUV(this._texture, defines, \"CLEARCOAT_TEXTURE\");\n }\n else {\n defines.CLEARCOAT_TEXTURE = false;\n }\n if (this._textureRoughness && MaterialFlags.ClearCoatTextureEnabled) {\n PrepareDefinesForMergedUV(this._textureRoughness, defines, \"CLEARCOAT_TEXTURE_ROUGHNESS\");\n }\n else {\n defines.CLEARCOAT_TEXTURE_ROUGHNESS = false;\n }\n if (this._bumpTexture && MaterialFlags.ClearCoatBumpTextureEnabled) {\n PrepareDefinesForMergedUV(this._bumpTexture, defines, \"CLEARCOAT_BUMP\");\n }\n else {\n defines.CLEARCOAT_BUMP = false;\n }\n defines.CLEARCOAT_DEFAULTIOR = this._indexOfRefraction === PBRClearCoatConfiguration._DefaultIndexOfRefraction;\n if (this._isTintEnabled) {\n defines.CLEARCOAT_TINT = true;\n if (this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n PrepareDefinesForMergedUV(this._tintTexture, defines, \"CLEARCOAT_TINT_TEXTURE\");\n defines.CLEARCOAT_TINT_GAMMATEXTURE = this._tintTexture.gammaSpace;\n }\n else {\n defines.CLEARCOAT_TINT_TEXTURE = false;\n }\n }\n else {\n defines.CLEARCOAT_TINT = false;\n defines.CLEARCOAT_TINT_TEXTURE = false;\n }\n }\n }\n }\n else {\n defines.CLEARCOAT = false;\n defines.CLEARCOAT_TEXTURE = false;\n defines.CLEARCOAT_TEXTURE_ROUGHNESS = false;\n defines.CLEARCOAT_BUMP = false;\n defines.CLEARCOAT_TINT = false;\n defines.CLEARCOAT_TINT_TEXTURE = false;\n defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE = false;\n defines.CLEARCOAT_DEFAULTIOR = false;\n defines.CLEARCOAT_TEXTUREDIRECTUV = 0;\n defines.CLEARCOAT_TEXTURE_ROUGHNESSDIRECTUV = 0;\n defines.CLEARCOAT_BUMPDIRECTUV = 0;\n defines.CLEARCOAT_REMAP_F0 = false;\n defines.CLEARCOAT_TINT_TEXTUREDIRECTUV = 0;\n defines.CLEARCOAT_TINT_GAMMATEXTURE = false;\n }\n }\n bindForSubMesh(uniformBuffer, scene, engine, subMesh) {\n if (!this._isEnabled) {\n return;\n }\n const defines = subMesh.materialDefines;\n const isFrozen = this._material.isFrozen;\n const disableBumpMap = this._material._disableBumpMap;\n const invertNormalMapX = this._material._invertNormalMapX;\n const invertNormalMapY = this._material._invertNormalMapY;\n if (!uniformBuffer.useUbo || !isFrozen || !uniformBuffer.isSync) {\n if ((this._texture || this._textureRoughness) && MaterialFlags.ClearCoatTextureEnabled) {\n uniformBuffer.updateFloat4(\"vClearCoatInfos\", this._texture?.coordinatesIndex ?? 0, this._texture?.level ?? 0, this._textureRoughness?.coordinatesIndex ?? 0, this._textureRoughness?.level ?? 0);\n if (this._texture) {\n BindTextureMatrix(this._texture, uniformBuffer, \"clearCoat\");\n }\n if (this._textureRoughness && !defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE) {\n BindTextureMatrix(this._textureRoughness, uniformBuffer, \"clearCoatRoughness\");\n }\n }\n if (this._bumpTexture && engine.getCaps().standardDerivatives && MaterialFlags.ClearCoatTextureEnabled && !disableBumpMap) {\n uniformBuffer.updateFloat2(\"vClearCoatBumpInfos\", this._bumpTexture.coordinatesIndex, this._bumpTexture.level);\n BindTextureMatrix(this._bumpTexture, uniformBuffer, \"clearCoatBump\");\n if (scene._mirroredCameraPosition) {\n uniformBuffer.updateFloat2(\"vClearCoatTangentSpaceParams\", invertNormalMapX ? 1.0 : -1.0, invertNormalMapY ? 1.0 : -1.0);\n }\n else {\n uniformBuffer.updateFloat2(\"vClearCoatTangentSpaceParams\", invertNormalMapX ? -1.0 : 1.0, invertNormalMapY ? -1.0 : 1.0);\n }\n }\n if (this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n uniformBuffer.updateFloat2(\"vClearCoatTintInfos\", this._tintTexture.coordinatesIndex, this._tintTexture.level);\n BindTextureMatrix(this._tintTexture, uniformBuffer, \"clearCoatTint\");\n }\n // Clear Coat General params\n uniformBuffer.updateFloat2(\"vClearCoatParams\", this.intensity, this.roughness);\n // Clear Coat Refraction params\n const a = 1 - this._indexOfRefraction;\n const b = 1 + this._indexOfRefraction;\n const f0 = Math.pow(-a / b, 2); // Schlicks approx: (ior1 - ior2) / (ior1 + ior2) where ior2 for air is close to vacuum = 1.\n const eta = 1 / this._indexOfRefraction;\n uniformBuffer.updateFloat4(\"vClearCoatRefractionParams\", f0, eta, a, b);\n if (this._isTintEnabled) {\n uniformBuffer.updateFloat4(\"vClearCoatTintParams\", this.tintColor.r, this.tintColor.g, this.tintColor.b, Math.max(0.00001, this.tintThickness));\n uniformBuffer.updateFloat(\"clearCoatColorAtDistance\", Math.max(0.00001, this.tintColorAtDistance));\n }\n }\n // Textures\n if (scene.texturesEnabled) {\n if (this._texture && MaterialFlags.ClearCoatTextureEnabled) {\n uniformBuffer.setTexture(\"clearCoatSampler\", this._texture);\n }\n if (this._textureRoughness && !defines.CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE && MaterialFlags.ClearCoatTextureEnabled) {\n uniformBuffer.setTexture(\"clearCoatRoughnessSampler\", this._textureRoughness);\n }\n if (this._bumpTexture && engine.getCaps().standardDerivatives && MaterialFlags.ClearCoatBumpTextureEnabled && !disableBumpMap) {\n uniformBuffer.setTexture(\"clearCoatBumpSampler\", this._bumpTexture);\n }\n if (this._isTintEnabled && this._tintTexture && MaterialFlags.ClearCoatTintTextureEnabled) {\n uniformBuffer.setTexture(\"clearCoatTintSampler\", this._tintTexture);\n }\n }\n }\n hasTexture(texture) {\n if (this._texture === texture) {\n return true;\n }\n if (this._textureRoughness === texture) {\n return true;\n }\n if (this._bumpTexture === texture) {\n return true;\n }\n if (this._tintTexture === 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._textureRoughness) {\n activeTextures.push(this._textureRoughness);\n }\n if (this._bumpTexture) {\n activeTextures.push(this._bumpTexture);\n }\n if (this._tintTexture) {\n activeTextures.push(this._tintTexture);\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._textureRoughness && this._textureRoughness.animations && this._textureRoughness.animations.length > 0) {\n animatables.push(this._textureRoughness);\n }\n if (this._bumpTexture && this._bumpTexture.animations && this._bumpTexture.animations.length > 0) {\n animatables.push(this._bumpTexture);\n }\n if (this._tintTexture && this._tintTexture.animations && this._tintTexture.animations.length > 0) {\n animatables.push(this._tintTexture);\n }\n }\n dispose(forceDisposeTextures) {\n if (forceDisposeTextures) {\n this._texture?.dispose();\n this._textureRoughness?.dispose();\n this._bumpTexture?.dispose();\n this._tintTexture?.dispose();\n }\n }\n getClassName() {\n return \"PBRClearCoatConfiguration\";\n }\n addFallbacks(defines, fallbacks, currentRank) {\n if (defines.CLEARCOAT_BUMP) {\n fallbacks.addFallback(currentRank++, \"CLEARCOAT_BUMP\");\n }\n if (defines.CLEARCOAT_TINT) {\n fallbacks.addFallback(currentRank++, \"CLEARCOAT_TINT\");\n }\n if (defines.CLEARCOAT) {\n fallbacks.addFallback(currentRank++, \"CLEARCOAT\");\n }\n return currentRank;\n }\n getSamplers(samplers) {\n samplers.push(\"clearCoatSampler\", \"clearCoatRoughnessSampler\", \"clearCoatBumpSampler\", \"clearCoatTintSampler\");\n }\n getUniforms() {\n return {\n ubo: [\n { name: \"vClearCoatParams\", size: 2, type: \"vec2\" },\n { name: \"vClearCoatRefractionParams\", size: 4, type: \"vec4\" },\n { name: \"vClearCoatInfos\", size: 4, type: \"vec4\" },\n { name: \"clearCoatMatrix\", size: 16, type: \"mat4\" },\n { name: \"clearCoatRoughnessMatrix\", size: 16, type: \"mat4\" },\n { name: \"vClearCoatBumpInfos\", size: 2, type: \"vec2\" },\n { name: \"vClearCoatTangentSpaceParams\", size: 2, type: \"vec2\" },\n { name: \"clearCoatBumpMatrix\", size: 16, type: \"mat4\" },\n { name: \"vClearCoatTintParams\", size: 4, type: \"vec4\" },\n { name: \"clearCoatColorAtDistance\", size: 1, type: \"float\" },\n { name: \"vClearCoatTintInfos\", size: 2, type: \"vec2\" },\n { name: \"clearCoatTintMatrix\", size: 16, type: \"mat4\" },\n ],\n };\n }\n}\n/**\n * This defaults to 1.5 corresponding to a 0.04 f0 or a 4% reflectance at normal incidence\n * The default fits with a polyurethane material.\n * @internal\n */\nPBRClearCoatConfiguration._DefaultIndexOfRefraction = 1.5;\n__decorate([\n serialize(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRClearCoatConfiguration.prototype, \"isEnabled\", void 0);\n__decorate([\n serialize()\n], PBRClearCoatConfiguration.prototype, \"intensity\", void 0);\n__decorate([\n serialize()\n], PBRClearCoatConfiguration.prototype, \"roughness\", void 0);\n__decorate([\n serialize(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRClearCoatConfiguration.prototype, \"indexOfRefraction\", void 0);\n__decorate([\n serializeAsTexture(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRClearCoatConfiguration.prototype, \"texture\", void 0);\n__decorate([\n serialize(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRClearCoatConfiguration.prototype, \"useRoughnessFromMainTexture\", void 0);\n__decorate([\n serializeAsTexture(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRClearCoatConfiguration.prototype, \"textureRoughness\", void 0);\n__decorate([\n serialize(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRClearCoatConfiguration.prototype, \"remapF0OnInterfaceChange\", void 0);\n__decorate([\n serializeAsTexture(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRClearCoatConfiguration.prototype, \"bumpTexture\", void 0);\n__decorate([\n serialize(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRClearCoatConfiguration.prototype, \"isTintEnabled\", void 0);\n__decorate([\n serializeAsColor3()\n], PBRClearCoatConfiguration.prototype, \"tintColor\", void 0);\n__decorate([\n serialize()\n], PBRClearCoatConfiguration.prototype, \"tintColorAtDistance\", void 0);\n__decorate([\n serialize()\n], PBRClearCoatConfiguration.prototype, \"tintThickness\", void 0);\n__decorate([\n serializeAsTexture(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRClearCoatConfiguration.prototype, \"tintTexture\", void 0);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|