using Microsoft.Xna.Framework; namespace Kav { public class Model { public Mesh[] Meshes { get; } public Color Albedo { set { foreach (var mesh in Meshes) { foreach (var meshPart in mesh.MeshParts) { meshPart.Albedo = value.ToVector3(); } } } } public float Metallic { set { foreach (var mesh in Meshes) { foreach (var meshPart in mesh.MeshParts) { meshPart.Metallic = value; } } } } public float Roughness { set { foreach (var mesh in Meshes) { foreach (var meshPart in mesh.MeshParts) { meshPart.Roughness = value; } } } } public Model(Mesh[] meshes) { Meshes = meshes; } public void DisableAlbedoMaps() { foreach (var mesh in Meshes) { foreach (var meshPart in mesh.MeshParts) { meshPart.DisableAlbedoMap = true; } } } public void DisableNormalMaps() { foreach (var mesh in Meshes) { foreach (var meshPart in mesh.MeshParts) { meshPart.DisableNormalMap = true; } } } public void DisableMetallicRoughnessMaps() { foreach (var mesh in Meshes) { foreach (var meshPart in mesh.MeshParts) { meshPart.DisableMetallicRoughnessMap = true; } } } } }