// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 namespace GLTFast.Schema { /// /// This extension defines a clear coating that can be layered on top of an /// existing glTF material definition. /// /// [System.Serializable] public class ClearCoat { /// /// The clearcoat layer intensity. /// public float clearcoatFactor; /// /// The clearcoat layer intensity texture. /// public TextureInfo clearcoatTexture; /// /// The clearcoat layer roughness. /// public float clearcoatRoughnessFactor; /// /// The clearcoat layer roughness texture. /// public TextureInfo clearcoatRoughnessTexture; /// /// The clearcoat normal map texture. /// public NormalTextureInfo clearcoatNormalTexture; internal void GltfSerialize(JsonWriter writer) { writer.AddObject(); if (clearcoatFactor > 0) { writer.AddProperty("clearcoatFactor", clearcoatFactor); } if (clearcoatTexture != null) { writer.AddProperty("clearcoatTexture"); clearcoatTexture.GltfSerialize(writer); } if (clearcoatRoughnessFactor > 0) { writer.AddProperty("clearcoatRoughnessFactor", clearcoatRoughnessFactor); } if (clearcoatRoughnessTexture != null) { writer.AddProperty("clearcoatRoughnessTexture"); clearcoatRoughnessTexture.GltfSerialize(writer); } if (clearcoatNormalTexture != null) { writer.AddProperty("clearcoatNormalTexture"); clearcoatNormalTexture.GltfSerialize(writer); } writer.Close(); } } }