Files
AR-Menu/Library/PackageCache/com.unity.cloud.gltfast@db5a82ec0b47/Runtime/Scripts/Schema/PbrSpecularGlossiness.cs
2025-11-30 08:35:03 +02:00

72 lines
2.1 KiB
C#

// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors
// SPDX-License-Identifier: Apache-2.0
using UnityEngine;
namespace GLTFast.Schema
{
/// <summary>
/// This extension defines the specular-glossiness material model from
/// Physically-Based Rendering (PBR).
/// </summary>
/// <seealso href="https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness"/>
[System.Serializable]
public class PbrSpecularGlossiness
{
/// <summary>
/// Diffuse color red, green, blue and alpha components in linear space.
/// </summary>
public float[] diffuseFactor = { 1, 1, 1, 1 };
/// <summary>
/// Diffuse color in linear space.
/// </summary>
public Color DiffuseColor =>
new Color(
diffuseFactor[0],
diffuseFactor[1],
diffuseFactor[2],
diffuseFactor[3]
);
/// <summary>
/// Diffuse color texture info.
/// </summary>
public TextureInfo diffuseTexture;
/// <summary>
/// Specular color red, green and blue components in linear space.
/// </summary>
public float[] specularFactor = { 1, 1, 1 };
/// <summary>
/// Specular color in linear space.
/// </summary>
public Color SpecularColor =>
new Color(
specularFactor[0],
specularFactor[1],
specularFactor[2]
);
/// <summary>
/// The glossiness or smoothness of the material.
/// </summary>
public float glossinessFactor = 1;
/// <summary>
/// The specular-glossiness texture.
/// </summary>
public TextureInfo specularGlossinessTexture;
internal void GltfSerialize(JsonWriter writer)
{
writer.AddObject();
writer.Close();
throw new System.NotImplementedException($"GltfSerialize missing on {GetType()}");
}
}
}