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