使用带有新 Molehill API 的 Flash 11 RC1,我想启用背面剔除。测试版文档非常模糊,但该示例暗示 Molehill 希望正面三角形逆时针缠绕,这很正常。
但是,当我的多边形逆时针缠绕时,我得到了完全相反的行为——换句话说,就好像与其自己的例子相反,Molehill 期望正面的三角形顺时针缠绕。由于文档从未明确说明哪个绕组是正确的,我很难过。
我不想只是翻转我所有的三角形,直到它看起来正好在我 100% 了解 Molehill 真正想要的东西之前,因为这很有可能隐藏一个基本的误解。
我正在使用简单的透视投影(下面关于 .transpose() 的注释:因为 copyRawDataFrom 期望数据以列为主,并且我讨厌在代码中查看的方式,我决定只输入它以行为主,然后转置矩阵- 所以起诉我:P):
var y:Number = 1.0 / Math.tan(pFOV / 2.0);
var x:Number = y / pAspectRatio;
_projectionMatrix.copyRawDataFrom(new<Number>[
x , 0 , 0 , 0,
0 , y , 0 , 0,
0 , 0 , pFar/(pNear-pFar) , pFar*pNear/(pNear-pFar),
0 , 0 , -1 , 0
]);
_projectionMatrix.transpose();
有什么线索吗?