// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System; namespace Microsoft.MixedReality.Toolkit.Utilities.Gltf.Schema { /// /// A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology. /// https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/schema/material.pbrMetallicRoughness.schema.json /// [Serializable] public class GltfPbrMetallicRoughness : GltfProperty { /// /// The RGBA components of the base color of the material. /// The fourth component (A) is the opacity of the material. /// These values are linear. /// public float[] baseColorFactor = { 1f, 1f, 1f, 1f }; /// /// The base color texture. /// This texture contains RGB(A) components in sRGB color space. /// The first three components (RGB) specify the base color of the material. /// If the fourth component (A) is present, it represents the opacity of the /// material. Otherwise, an opacity of 1.0 is assumed. /// public GltfTextureInfo baseColorTexture; /// /// The metalness of the material. /// A value of 1.0 means the material is a metal. /// A value of 0.0 means the material is a dielectric. /// Values in between are for blending between metals and dielectrics such as /// dirty metallic surfaces. /// This value is linear. /// public double metallicFactor = 1; /// /// The roughness of the material. /// A value of 1.0 means the material is completely rough. /// A value of 0.0 means the material is completely smooth. /// This value is linear. /// public double roughnessFactor = 1; /// /// The metallic-roughness texture has two components. /// The first component (R) contains the metallic-ness of the material. /// The second component (G) contains the roughness of the material. /// These values are linear. /// If the third component (B) and/or the fourth component (A) are present, /// they are ignored. /// public GltfTextureInfo metallicRoughnessTexture; } }