本文整理汇总了C#中System.Windows.Media.Media3D.MaterialGroup.SetName方法的典型用法代码示例。如果您正苦于以下问题:C# MaterialGroup.SetName方法的具体用法?C# MaterialGroup.SetName怎么用?C# MaterialGroup.SetName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Media.Media3D.MaterialGroup
的用法示例。
在下文中一共展示了MaterialGroup.SetName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateMaterial
/// <summary>
/// Creates the material.
/// </summary>
/// <param name="texturePath">The texture path.</param>
/// <returns>A WPF material.</returns>
private Material CreateMaterial(string texturePath)
{
var mg = new MaterialGroup();
mg.SetName(this.Name);
// add the diffuse component
if (this.DiffuseMap == null)
{
var diffuseBrush = new SolidColorBrush(this.Diffuse) { Opacity = this.Dissolved };
mg.Children.Add(new DiffuseMaterial(diffuseBrush));
}
else
{
var path = Path.Combine(texturePath, this.DiffuseMap);
if (File.Exists(path))
{
mg.Children.Add(new DiffuseMaterial(this.CreateTextureBrush(path)));
}
}
// add the ambient components
if (this.AmbientMap == null)
{
// ambient material is not supported by WPF?
}
else
{
var path = Path.Combine(texturePath, this.AmbientMap);
if (File.Exists(path))
{
mg.Children.Add(new EmissiveMaterial(this.CreateTextureBrush(path)));
}
}
// add the specular component
if (this.Specular.R > 0 || this.Specular.G > 0 || this.Specular.B > 0)
{
mg.Children.Add(new SpecularMaterial(new SolidColorBrush(this.Specular), this.SpecularCoefficient));
}
return mg.Children.Count != 1 ? mg : mg.Children[0];
}