我想在xz平面上投影一个网格,如下所示:
为此,我创建了一个x和z范围[-1 | 1]的顶点网格。在着色器中,我将顶点的xz屏幕坐标与View-Projection矩阵的倒数相乘。然后我想调整高度,取决于新的世界xz坐标,最后通过将它们与View-Projection矩阵相乘,将这些坐标转换回屏幕空间。
我不知道为什么,但我在屏幕上看到一个非常奇怪的飞机。我使用的数学运算是否正确?
答案 0 :(得分:0)
您最初创建的网格是投影空间或实际屏幕中的网格?它听起来像是在投影空间,因为你只用视图投影矩阵的逆转换它以进入世界合作。我认为您还需要包含“窗口”矩阵,即通过View-Projection-Window矩阵的逆转换它们(同样在回到屏幕合作的路上)。
修改强>
我可能不明白你究竟想要做什么,所以回答一些问题。 :)
您是否正在尝试将问题中的屏幕截图中显示的网格投射到世界z-x坐标上?如果是这样,那么为什么要从z-x值网格开始呢?此外,如果你对那些应用逆视图矩阵,那么你肯定会得到一条线,因为相机沿着z看,尽管你的第二个截图显示你正在获得一架飞机。我有点困惑。