本文整理匯總了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);
}