private static Vector4 _GetDefaultParameter(KnownChannel key) { switch (key) { case KnownChannel.Emissive: return(Vector4.Zero); case KnownChannel.Normal: case KnownChannel.ClearCoatNormal: case KnownChannel.Occlusion: return(Vector4.UnitX); case KnownChannel.BaseColor: case KnownChannel.Diffuse: return(Vector4.One); case KnownChannel.MetallicRoughness: return(new Vector4(1, 1, 0, 0)); case KnownChannel.SpecularGlossiness: return(Vector4.One); case KnownChannel.ClearCoat: return(Vector4.Zero); case KnownChannel.ClearCoatRoughness: return(Vector4.Zero); case KnownChannel.Transmission: return(Vector4.Zero); default: throw new NotImplementedException(); } }
internal static Collection CreateDefaultProperties(KnownChannel key) { var ppp = _CreateDefaultProperties(key).ToArray(); var collection = new Collection(ppp); collection.Reset(); return(collection); }
internal ChannelBuilder(MaterialBuilder parent, KnownChannel key) { Guard.NotNull(parent, nameof(parent)); _Parent = parent; _Key = key; SetDefaultParameter(); }
internal ChannelBuilder(MaterialBuilder parent, KnownChannel key) { Guard.NotNull(parent, nameof(parent)); _Parent = parent; _Key = key; _Parameters = MaterialValue.CreateDefaultProperties(key); }
public void SetChannelValue(KnownChannel ch, byte value) { foreach (Channel ch1 in Fixture.Channels) { if (ch1.Type == ch) { SetChannelValue(ch1, value); break; } } }
private static IEnumerable <_Property> _CreateDefaultProperties(KnownChannel key) { switch (key) { case KnownChannel.Emissive: yield return(new _Property(KnownProperty.RGB, Vector3.Zero)); yield return(new _Property(KnownProperty.EmissiveStrength, 1f)); break; case KnownChannel.Normal: yield return(new _Property(KnownProperty.NormalScale, 1f)); break; case KnownChannel.Occlusion: yield return(new _Property(KnownProperty.OcclusionStrength, 1f)); break; case KnownChannel.Diffuse: yield return(new _Property(KnownProperty.RGBA, Vector4.One)); break; case KnownChannel.SpecularGlossiness: yield return(new _Property(KnownProperty.SpecularFactor, Vector3.One)); yield return(new _Property(KnownProperty.GlossinessFactor, 1f)); break; case KnownChannel.BaseColor: yield return(new _Property(KnownProperty.RGBA, Vector4.One)); break; case KnownChannel.MetallicRoughness: yield return(new _Property(KnownProperty.MetallicFactor, 1f)); yield return(new _Property(KnownProperty.RoughnessFactor, 1f)); break; case KnownChannel.ClearCoat: yield return(new _Property(KnownProperty.ClearCoatFactor, 0f)); break; case KnownChannel.ClearCoatNormal: yield return(new _Property(KnownProperty.NormalScale, 1f)); break; case KnownChannel.ClearCoatRoughness: yield return(new _Property(KnownProperty.RoughnessFactor, 0f)); break; case KnownChannel.Transmission: yield return(new _Property(KnownProperty.TransmissionFactor, 0f)); break; case KnownChannel.SheenColor: yield return(new _Property(KnownProperty.RGB, Vector3.Zero)); break; case KnownChannel.SheenRoughness: yield return(new _Property(KnownProperty.RoughnessFactor, 0f)); break; case KnownChannel.SpecularColor: yield return(new _Property(KnownProperty.RGB, Vector3.One)); break; case KnownChannel.SpecularFactor: yield return(new _Property(KnownProperty.SpecularFactor, 1f)); break; case KnownChannel.VolumeThickness: yield return(new _Property(KnownProperty.ThicknessFactor, 0f)); break; case KnownChannel.VolumeAttenuation: yield return(new _Property(KnownProperty.RGB, Vector3.One)); yield return(new _Property(KnownProperty.AttenuationDistance, 0f)); break; default: throw new NotImplementedException(); } }
public Channel(int address, string title, KnownChannel known = KnownChannel.None) { Address = address; Title = title; Type = known; }