mixedreality/com.microsoft.mixedreality..../Core/Utilities/Gltf/Schema/GltfPbrMetallicRoughness.cs

59 lines
2.4 KiB
C#

// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using System;
namespace Microsoft.MixedReality.Toolkit.Utilities.Gltf.Schema
{
/// <summary>
/// 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
/// </summary>
[Serializable]
public class GltfPbrMetallicRoughness : GltfProperty
{
/// <summary>
/// The RGBA components of the base color of the material.
/// The fourth component (A) is the opacity of the material.
/// These values are linear.
/// </summary>
public float[] baseColorFactor = { 1f, 1f, 1f, 1f };
/// <summary>
/// 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.
/// </summary>
public GltfTextureInfo baseColorTexture;
/// <summary>
/// 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.
/// </summary>
public double metallicFactor = 1;
/// <summary>
/// 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.
/// </summary>
public double roughnessFactor = 1;
/// <summary>
/// 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.
/// </summary>
public GltfTextureInfo metallicRoughnessTexture;
}
}