Math 矩阵乘法一直在给我正确的答案,我的数学一直在倒着做

Math 矩阵乘法一直在给我正确的答案,我的数学一直在倒着做,math,opengl,camera,matrix-multiplication,Math,Opengl,Camera,Matrix Multiplication,我一直在使用openGL,最后还搞砸了一些着色器 当我试图让这只老虎出现在屏幕上时,我的问题出现了。我什么也没看到。所以我决定开个玩笑,把我的数学从 模型*CameraView*CameraProjection并向后执行CameraProjection*CameraView*模型 我知道答案显然不一样。但一旦我运行了代码,我的模型就出现在屏幕上,完全完成了它需要做的事情 在我这边,我所做的就是传递矩阵,我在着色器中进行所有正确的放置计算 以下是我使用的3个矩阵: 模特世界排名 1.0, 0.0

我一直在使用openGL,最后还搞砸了一些着色器

当我试图让这只老虎出现在屏幕上时,我的问题出现了。我什么也没看到。所以我决定开个玩笑,把我的数学从

模型*CameraView*CameraProjection并向后执行CameraProjection*CameraView*模型

我知道答案显然不一样。但一旦我运行了代码,我的模型就出现在屏幕上,完全完成了它需要做的事情

在我这边,我所做的就是传递矩阵,我在着色器中进行所有正确的放置计算

以下是我使用的3个矩阵:

模特世界排名

1.0,  0.0,  -0.03, 0.0,
0.0,  1.0,   0.0,  0.0,
0.03, 0.0,   1.0,  0.0,
1.0, -3.0, -10.0,  1
2.37, 0.0,   0.0,   0.0,
0.0,  3.17,  0.0,   0.0,
0.0,  0.0,  -1.0,  -1.0,
0.0,  0.0,  -0.02,  0.0
摄像机视图

1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0
摄像机投影

1.0,  0.0,  -0.03, 0.0,
0.0,  1.0,   0.0,  0.0,
0.03, 0.0,   1.0,  0.0,
1.0, -3.0, -10.0,  1
2.37, 0.0,   0.0,   0.0,
0.0,  3.17,  0.0,   0.0,
0.0,  0.0,  -1.0,  -1.0,
0.0,  0.0,  -0.02,  0.0
我的结果矩阵是: (以防你们不想干掉他们)

MVP

2.38,  0.0,    0.0,   0.0,
0.0,   3.17,  -0.03, -0.03,
0.02, -0.095, -1.0,  -1.0,
2.38, -9.51,  36.1,  36.1
PVM

 2.38, 0.0,  -0.017,   0.0,
 0.02, 3.17,  3.17,    0.0,
-0.82, 3.33, 35.03,   -1.0,
 0.0,  0.0,   0.0,     0.0

数学实际上是在我的着色器中计算的。这是一个openGL着色器。

这是因为“Model*CameraView*CameraProjection”是向后的。对于列主规范矩阵,最右边的变换首先出现。模型空间位置位于最右侧,然后乘以模型到世界矩阵,然后乘以世界到摄影机,最后乘以摄影机到投影。从右到左。

这是因为“Model*CameraView*CameraProjection”是向后的。对于列主规范矩阵,最右边的变换首先出现。模型空间位置位于最右侧,然后乘以模型到世界矩阵,然后乘以世界到摄影机,最后乘以摄影机到投影。从右到左。

我假设它是因为它是OpenGL?这是怎么回事?正如在directX中一样,我的原始设置工作正常?>。我假设它是因为它是OpenGL?这是怎么回事?正如在directX中一样,我的原始设置工作正常?>。