59 lines
2.4 KiB
C#
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;
|
|
}
|
|
} |