public MaterialLibraryLoader(IMaterialLibrary materialLibrary) { _materialLibrary = materialLibrary; AddParseAction("newmtl", PushMaterial); AddParseAction("Ka", (d) => CurrentMaterial.AmbientColor = ParseVec3(d)); AddParseAction("Kd", (d) => CurrentMaterial.DiffuseColor = ParseVec3(d)); AddParseAction("Ks", (d) => CurrentMaterial.SpecularColor = ParseVec3(d)); AddParseAction("Ns", (d) => CurrentMaterial.SpecularCoefficient = d.ParseInvariantFloat()); AddParseAction("d", (d) => CurrentMaterial.Transparency = d.ParseInvariantFloat()); AddParseAction("Tr", (d) => CurrentMaterial.Transparency = d.ParseInvariantFloat()); AddParseAction("illum", (i) => CurrentMaterial.IlluminationModel = i.ParseInvariantInt()); AddParseAction("map_Ka", (m) => CurrentMaterial.AmbientTextureMap = m); AddParseAction("map_Kd", (m) => CurrentMaterial.DiffuseTextureMap = m); AddParseAction("map_Ks", (m) => CurrentMaterial.SpecularTextureMap = m); AddParseAction("map_Ns", (m) => CurrentMaterial.SpecularHighlightTextureMap = m); AddParseAction("map_d", (m) => CurrentMaterial.AlphaTextureMap = m); AddParseAction("map_bump", (m) => CurrentMaterial.BumpMap = m); AddParseAction("bump", (m) => CurrentMaterial.BumpMap = m); AddParseAction("disp", (m) => CurrentMaterial.DisplacementMap = m); AddParseAction("decal", (m) => CurrentMaterial.StencilDecalMap = m); }
public MaterialLibraryLoader(IMaterialLibrary materialLibrary) { _materialLibrary = materialLibrary; AddParseAction("newmtl", PushMaterial); AddParseAction("Ka", d => CurrentMaterial.Ambient = ParseCol(d)); AddParseAction("Kd", d => CurrentMaterial.Diffuse = ParseCol(d)); AddParseAction("Ks", d => CurrentMaterial.Specular = ParseCol(d)); AddParseAction("Ns", d => CurrentMaterial.Shine = d.ParseInvariantFloat()); AddParseAction("d", d => CurrentMaterial.Diffuse *= d.ParseInvariantFloat()); AddParseAction("Tr", d => CurrentMaterial.Diffuse.a = d.ParseInvariantFloat()); // AddParseAction("illum", i => CurrentMaterial.IlluminationModel = i.ParseInvariantInt()); // AddParseAction("map_Ka", m => CurrentMaterial.AmbientTextureMap = m); AddParseAction("map_Kd", m => DiffuseMap.Texture = new Vixen.Texture(m)); AddParseAction("map_Ks", m => SpecularMap.Texture = new Vixen.Texture(m)); // AddParseAction("map_Ns", m => CurrentMaterial.SpecularHighlightTextureMap = m); // AddParseAction("map_d", m => CurrentMaterial.AlphaTextureMap = m); // AddParseAction("map_bump", m => CurrentMaterial.BumpMap = m); // AddParseAction("bump", m => CurrentMaterial.BumpMap = m); // AddParseAction("disp", m => CurrentMaterial.DisplacementMap = m); // AddParseAction("decal", m => CurrentMaterial.StencilDecalMap = m); }
public MaterialLibraryLoader(IMaterialLibrary materialLibrary) { _materialLibrary = materialLibrary; AddParseAction("newmtl", PushMaterial); AddParseAction("Ka", d => CurrentMaterial.AmbientColor = ParseColour(d)); AddParseAction("Kd", d => CurrentMaterial.DiffuseColor = ParseColour(d)); AddParseAction("Ks", d => CurrentMaterial.SpecularColor = ParseColour(d)); AddParseAction("Ns", d => CurrentMaterial.SpecularCoefficient = d.ParseInvariantFloat()); AddParseAction("d", d => CurrentMaterial.Transparency = d.ParseInvariantFloat()); AddParseAction("Tr", d => CurrentMaterial.Transparency = d.ParseInvariantFloat()); AddParseAction("illum", i => CurrentMaterial.IlluminationModel = i.ParseInvariantInt()); AddParseAction("map_Ka", m => CurrentMaterial.AmbientTextureMap = m); AddParseAction("map_Kd", m => CurrentMaterial.DiffuseTextureMap = m); AddParseAction("map_Ks", m => CurrentMaterial.SpecularTextureMap = m); AddParseAction("map_Ns", m => CurrentMaterial.SpecularHighlightTextureMap = m); AddParseAction("map_d", m => CurrentMaterial.AlphaTextureMap = m); AddParseAction("map_bump", m => CurrentMaterial.BumpMap = m); AddParseAction("bump", m => CurrentMaterial.BumpMap = m); AddParseAction("disp", m => CurrentMaterial.DisplacementMap = m); AddParseAction("decal", m => CurrentMaterial.StencilDecalMap = m); }
public MaterialLibraryAdapter(IMaterialLibrary materialLibrary) { Guard.WhenArgument(materialLibrary, "materialLibrary").IsNull().Throw(); this.materialLibrary = materialLibrary; }