我正在尝试使用OpenTK的Matrix4类为项目构建模型视图矩阵。我正在尝试构建一个平移矩阵,但矩阵不断设置随机值。 以下是控制台的屏幕截图:
以下是用于构建它的代码:
private static Matrix4 CreateModelview(Rectangle dst)
{
var scale = Matrix4.CreateScale(dst.Size.X, dst.Size.Y, 1.0f);
var translation = new Matrix4();
translation[0, 0] = 1f;
translation[1, 1] = 1f;
translation[2, 2] = 1f;
translation[3, 3] = 1f;
translation[3, 0] = dst.Position.X;
translation[3, 1] = dst.Position.Y;
translation[0, 3] = 0f;
translation[1, 3] = 0f;
Console.WriteLine("Translation:");
Console.WriteLine(translation);
Console.WriteLine();
Console.WriteLine("Scale:");
Console.WriteLine(scale);
Console.WriteLine();
var modelview = scale * translation;
return modelview;
}
我尝试使用静态函数Matrix4f.CreateTranslation构建相同的结果。
答案 0 :(得分:0)
我自己解决了这个问题,它是我翻转行和列并将其错误地上传到统一缓冲区的组合。