我做了很多搜索,但没有找到解决这个问题的方法。
我有一个视口,其中心(我们正在查看)总是在(0,0,0)。我们总是朝(0,0,1)方向看。完成所有数学后,它简化为:
Projected X = 3D X Coordinate / 3D Z Coordinate
Projected Y = 3D Y Coordinate / 3D Z Coordinate
它完美无缺。在z = 1时,每个点都正确地投影到平面上。但是负面深度存在问题。我可能无法渲染具有负深度点的多边形,但是如果三角形有其他顶点到达视锥体会怎么样?我希望能够渲染三角形,因为你仍然可以看到它的一部分。
我怎么可能:
答:在观察平面上找到一个可以表示该顶点的点,然后使用该点绘制三角形?
或
B:找到2个点并绘制2个三角形,将z = 0之间的三角形切成两半并且三角形进入观察平截头体的位置?
编辑:好的,对不起,我想我只是弄明白该怎么做。我只是设置了一个近剪裁窗格,所以我可以看到线或三角形与之相交的位置。它适用于线条,我即将开始研究三角形。