using System.Collections.Generic;
using UnityEngine;
namespace VRMShaders
{
///
/// Texture を用途別に変換の要不要を判断して gltf.textures の index に対応させる機能。
///
/// glTF 拡張で Texture の用途を増やす必要がある場合は、この interface を継承して実装すればよい。
///
public interface ITextureExporter
{
///
/// 指定の Texture を、 sRGB 色空間の値を持つ Texture に出力するように指示する。
///
int RegisterExportingAsSRgb(Texture src, bool needsAlpha);
///
/// 指定の Texture を、 Linear の値を持つ Texture に出力するように指示する。
///
int RegisterExportingAsLinear(Texture src, bool needsAlpha);
///
/// Unity Standard Shader の Metallic, Roughness, Occlusion 情報を、 glTF 仕様に準拠した 1 枚の合成テクスチャとして出力するように指示する。
///
int RegisterExportingAsCombinedGltfPbrParameterTextureFromUnityStandardTextures(Texture metallicSmoothTexture, float smoothness, Texture occlusionTexture);
///
/// 指定の Texture を、glTF 仕様に準拠した Normal Texture に出力するように指示する。
///
int RegisterExportingAsNormal(Texture src);
}
}