1 |
- {"ast":null,"code":"import { __decorate } from \"../../tslib.es6.js\";\nimport { serialize, serializeAsColor3, expandToProperty, serializeAsTexture } from \"../../Misc/decorators.js\";\nimport { SerializationHelper } from \"../../Misc/decorators.serialization.js\";\nimport { PBRBaseSimpleMaterial } from \"./pbrBaseSimpleMaterial.js\";\nimport { RegisterClass } from \"../../Misc/typeStore.js\";\n/**\n * The PBR material of BJS following the metal roughness convention.\n *\n * This fits to the PBR convention in the GLTF definition:\n * https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness/README.md\n */\nexport class PBRMetallicRoughnessMaterial extends PBRBaseSimpleMaterial {\n /**\n * Instantiates a new PBRMetalRoughnessMaterial instance.\n *\n * @param name The material name\n * @param scene The scene the material will be use in.\n */\n constructor(name, scene) {\n super(name, scene);\n this._useRoughnessFromMetallicTextureAlpha = false;\n this._useRoughnessFromMetallicTextureGreen = true;\n this._useMetallnessFromMetallicTextureBlue = true;\n this.metallic = 1.0;\n this.roughness = 1.0;\n }\n /**\n * @returns the current class name of the material.\n */\n getClassName() {\n return \"PBRMetallicRoughnessMaterial\";\n }\n /**\n * Makes a duplicate of the current material.\n * @param name - name to use for the new material.\n * @returns cloned material instance\n */\n clone(name) {\n const clone = SerializationHelper.Clone(() => new PBRMetallicRoughnessMaterial(name, this.getScene()), this);\n clone.id = name;\n clone.name = name;\n this.clearCoat.copyTo(clone.clearCoat);\n this.anisotropy.copyTo(clone.anisotropy);\n this.brdf.copyTo(clone.brdf);\n this.sheen.copyTo(clone.sheen);\n this.subSurface.copyTo(clone.subSurface);\n return clone;\n }\n /**\n * Serialize the material to a parsable JSON object.\n * @returns the JSON object\n */\n serialize() {\n const serializationObject = SerializationHelper.Serialize(this);\n serializationObject.customType = \"BABYLON.PBRMetallicRoughnessMaterial\";\n serializationObject.clearCoat = this.clearCoat.serialize();\n serializationObject.anisotropy = this.anisotropy.serialize();\n serializationObject.brdf = this.brdf.serialize();\n serializationObject.sheen = this.sheen.serialize();\n serializationObject.subSurface = this.subSurface.serialize();\n serializationObject.iridescence = this.iridescence.serialize();\n return serializationObject;\n }\n /**\n * Parses a JSON object corresponding to the serialize function.\n * @param source - JSON source object.\n * @param scene - Defines the scene we are parsing for\n * @param rootUrl - Defines the rootUrl of this parsed object\n * @returns a new PBRMetalRoughnessMaterial\n */\n static Parse(source, scene, rootUrl) {\n const material = SerializationHelper.Parse(() => new PBRMetallicRoughnessMaterial(source.name, scene), source, scene, rootUrl);\n if (source.clearCoat) {\n material.clearCoat.parse(source.clearCoat, scene, rootUrl);\n }\n if (source.anisotropy) {\n material.anisotropy.parse(source.anisotropy, scene, rootUrl);\n }\n if (source.brdf) {\n material.brdf.parse(source.brdf, scene, rootUrl);\n }\n if (source.sheen) {\n material.sheen.parse(source.sheen, scene, rootUrl);\n }\n if (source.subSurface) {\n material.subSurface.parse(source.subSurface, scene, rootUrl);\n }\n if (source.iridescence) {\n material.iridescence.parse(source.iridescence, scene, rootUrl);\n }\n return material;\n }\n}\n__decorate([serializeAsColor3(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_albedoColor\")], PBRMetallicRoughnessMaterial.prototype, \"baseColor\", void 0);\n__decorate([serializeAsTexture(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_albedoTexture\")], PBRMetallicRoughnessMaterial.prototype, \"baseTexture\", void 0);\n__decorate([serialize(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRMetallicRoughnessMaterial.prototype, \"metallic\", void 0);\n__decorate([serialize(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")], PBRMetallicRoughnessMaterial.prototype, \"roughness\", void 0);\n__decorate([serializeAsTexture(), expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_metallicTexture\")], PBRMetallicRoughnessMaterial.prototype, \"metallicRoughnessTexture\", void 0);\nRegisterClass(\"BABYLON.PBRMetallicRoughnessMaterial\", PBRMetallicRoughnessMaterial);","map":{"version":3,"names":["__decorate","serialize","serializeAsColor3","expandToProperty","serializeAsTexture","SerializationHelper","PBRBaseSimpleMaterial","RegisterClass","PBRMetallicRoughnessMaterial","constructor","name","scene","_useRoughnessFromMetallicTextureAlpha","_useRoughnessFromMetallicTextureGreen","_useMetallnessFromMetallicTextureBlue","metallic","roughness","getClassName","clone","Clone","getScene","id","clearCoat","copyTo","anisotropy","brdf","sheen","subSurface","serializationObject","Serialize","customType","iridescence","Parse","source","rootUrl","material","parse","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/PBR/pbrMetallicRoughnessMaterial.js"],"sourcesContent":["import { __decorate } from \"../../tslib.es6.js\";\nimport { serialize, serializeAsColor3, expandToProperty, serializeAsTexture } from \"../../Misc/decorators.js\";\nimport { SerializationHelper } from \"../../Misc/decorators.serialization.js\";\nimport { PBRBaseSimpleMaterial } from \"./pbrBaseSimpleMaterial.js\";\nimport { RegisterClass } from \"../../Misc/typeStore.js\";\n/**\n * The PBR material of BJS following the metal roughness convention.\n *\n * This fits to the PBR convention in the GLTF definition:\n * https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness/README.md\n */\nexport class PBRMetallicRoughnessMaterial extends PBRBaseSimpleMaterial {\n /**\n * Instantiates a new PBRMetalRoughnessMaterial instance.\n *\n * @param name The material name\n * @param scene The scene the material will be use in.\n */\n constructor(name, scene) {\n super(name, scene);\n this._useRoughnessFromMetallicTextureAlpha = false;\n this._useRoughnessFromMetallicTextureGreen = true;\n this._useMetallnessFromMetallicTextureBlue = true;\n this.metallic = 1.0;\n this.roughness = 1.0;\n }\n /**\n * @returns the current class name of the material.\n */\n getClassName() {\n return \"PBRMetallicRoughnessMaterial\";\n }\n /**\n * Makes a duplicate of the current material.\n * @param name - name to use for the new material.\n * @returns cloned material instance\n */\n clone(name) {\n const clone = SerializationHelper.Clone(() => new PBRMetallicRoughnessMaterial(name, this.getScene()), this);\n clone.id = name;\n clone.name = name;\n this.clearCoat.copyTo(clone.clearCoat);\n this.anisotropy.copyTo(clone.anisotropy);\n this.brdf.copyTo(clone.brdf);\n this.sheen.copyTo(clone.sheen);\n this.subSurface.copyTo(clone.subSurface);\n return clone;\n }\n /**\n * Serialize the material to a parsable JSON object.\n * @returns the JSON object\n */\n serialize() {\n const serializationObject = SerializationHelper.Serialize(this);\n serializationObject.customType = \"BABYLON.PBRMetallicRoughnessMaterial\";\n serializationObject.clearCoat = this.clearCoat.serialize();\n serializationObject.anisotropy = this.anisotropy.serialize();\n serializationObject.brdf = this.brdf.serialize();\n serializationObject.sheen = this.sheen.serialize();\n serializationObject.subSurface = this.subSurface.serialize();\n serializationObject.iridescence = this.iridescence.serialize();\n return serializationObject;\n }\n /**\n * Parses a JSON object corresponding to the serialize function.\n * @param source - JSON source object.\n * @param scene - Defines the scene we are parsing for\n * @param rootUrl - Defines the rootUrl of this parsed object\n * @returns a new PBRMetalRoughnessMaterial\n */\n static Parse(source, scene, rootUrl) {\n const material = SerializationHelper.Parse(() => new PBRMetallicRoughnessMaterial(source.name, scene), source, scene, rootUrl);\n if (source.clearCoat) {\n material.clearCoat.parse(source.clearCoat, scene, rootUrl);\n }\n if (source.anisotropy) {\n material.anisotropy.parse(source.anisotropy, scene, rootUrl);\n }\n if (source.brdf) {\n material.brdf.parse(source.brdf, scene, rootUrl);\n }\n if (source.sheen) {\n material.sheen.parse(source.sheen, scene, rootUrl);\n }\n if (source.subSurface) {\n material.subSurface.parse(source.subSurface, scene, rootUrl);\n }\n if (source.iridescence) {\n material.iridescence.parse(source.iridescence, scene, rootUrl);\n }\n return material;\n }\n}\n__decorate([\n serializeAsColor3(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_albedoColor\")\n], PBRMetallicRoughnessMaterial.prototype, \"baseColor\", void 0);\n__decorate([\n serializeAsTexture(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_albedoTexture\")\n], PBRMetallicRoughnessMaterial.prototype, \"baseTexture\", void 0);\n__decorate([\n serialize(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRMetallicRoughnessMaterial.prototype, \"metallic\", void 0);\n__decorate([\n serialize(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\")\n], PBRMetallicRoughnessMaterial.prototype, \"roughness\", void 0);\n__decorate([\n serializeAsTexture(),\n expandToProperty(\"_markAllSubMeshesAsTexturesDirty\", \"_metallicTexture\")\n], PBRMetallicRoughnessMaterial.prototype, \"metallicRoughnessTexture\", void 0);\nRegisterClass(\"BABYLON.PBRMetallicRoughnessMaterial\", PBRMetallicRoughnessMaterial);\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|