本文整理汇总了C#中System.Windows.Media.Media3D.MeshGeometry3D.GenerateCylindricalTextureCoordinates方法的典型用法代码示例。如果您正苦于以下问题:C# MeshGeometry3D.GenerateCylindricalTextureCoordinates方法的具体用法?C# MeshGeometry3D.GenerateCylindricalTextureCoordinates怎么用?C# MeshGeometry3D.GenerateCylindricalTextureCoordinates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Media.Media3D.MeshGeometry3D
的用法示例。
在下文中一共展示了MeshGeometry3D.GenerateCylindricalTextureCoordinates方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Generate
/// <summary>
/// Generates a mesh model
/// </summary>
/// <param name="mesh">Mesh</param>
static void Generate(MeshGeometry3D mesh)
{
const int slices = 12;
const double slice = (2.0 * Math.PI) / (double)slices;
for(int i = 0; i < slices; i++)
{
int secondIndex = (i == slice - 1) ? 0 : i + 1;
Point3D topFirst = Function(1, slice * i);
Point3D topSecond = Function(1, slice * secondIndex);
Point3D bottomFirst = Function(0, slice * i);
Point3D bottomSecond = Function(0, slice * secondIndex);
Vector3D firstNormal = new Vector3D(bottomFirst.X, bottomFirst.Y, bottomFirst.Z);
Vector3D secondNormal = new Vector3D(bottomSecond.X, bottomSecond.Y, bottomSecond.Z);
/*0*/ mesh.Positions.Add(topFirst);
/*1*/ mesh.Positions.Add(topSecond);
/*2*/ mesh.Positions.Add(bottomFirst);
/*3*/ mesh.Positions.Add(bottomSecond);
mesh.Normals.Add(firstNormal);
mesh.Normals.Add(secondNormal);
mesh.Normals.Add(firstNormal);
mesh.Normals.Add(secondNormal);
mesh.TriangleIndices.Add(i * 4 + 0);
mesh.TriangleIndices.Add(i * 4 + 3);
mesh.TriangleIndices.Add(i * 4 + 1);
mesh.TriangleIndices.Add(i * 4 + 0);
mesh.TriangleIndices.Add(i * 4 + 2);
mesh.TriangleIndices.Add(i * 4 + 3);
}
mesh.GenerateCylindricalTextureCoordinates(new Vector3D(0, 1, 0));
}