【发布时间】:2014-04-15 20:03:01
【问题描述】:
我正在尝试将矩阵从我们的游戏引擎传递到软件光栅化程序库。我们的矩阵的结构与 D3D 期望的相同,如果这很重要的话。
软件光栅化器附带了可以工作的示例集成,但是当我们通过我们的矩阵(我们首先转置,或者什么都不显示)时,裁剪停止工作;三角形在边缘被剪裁时会在屏幕上伸展,而相机后面的三角形会倒置显示,就好像它们在您面前一样。
我们自己没有传入的唯一矩阵是视口矩阵;我们使用由光栅化器创建的,如下所示:
HALF SCREEN WIDTH, 0.0, 0.0, 0.0,
0.0, -HALF SCREEN HEIGHT, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
HALF SCREEN WIDTH, HALF SCREEN HEIGHT, 0.0, 1.0);
我尝试转置它(因为这是我们必须对所有其他矩阵做的事情)但没有任何结果。
我有点困惑,因为裁剪器确实(我检查过)丢弃了任何具有负 W 值的顶点。我们的问题是由于裁剪器无法处理所有情况,还是由于我传递矩阵的方式?
【问题讨论】: