本文整理汇总了C#中System.Matrix4d.Transpose方法的典型用法代码示例。如果您正苦于以下问题:C# Matrix4d.Transpose方法的具体用法?C# Matrix4d.Transpose怎么用?C# Matrix4d.Transpose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Matrix4d
的用法示例。
在下文中一共展示了Matrix4d.Transpose方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenderBilboardLine
public void RenderBilboardLine(Location pos, Location p2, float width, Location facing)
{
Location center = (pos + p2) * 0.5;
double len = (center - facing).Length();
Location lookdir = (center - facing) / len;
double len2 = (p2 - pos).Length();
if (len < 0.001 || len2 < 0.001)
{
return;
}
Location updir = (p2 - pos) / len2;
Location right = updir.CrossProduct(lookdir);
Matrix4d mat = Matrix4d.CreateTranslation(-0.5f, -0.5f, 0f) * Matrix4d.Scale((float)len2 * 0.5f, width, 1f);
Matrix4d m2 = new Matrix4d(right.X, updir.X, lookdir.X, center.X,
right.Y, updir.Y, lookdir.Y, center.Y,
right.Z, updir.Z, lookdir.Z, center.Z,
0, 0, 0, 1);
m2.Transpose();
mat *= m2;
Client.Central.MainWorldView.SetMatrix(2, mat);
GL.BindVertexArray(Square._VAO);
GL.DrawElements(PrimitiveType.Triangles, 6, DrawElementsType.UnsignedInt, IntPtr.Zero);
GL.BindVertexArray(0);
}