2011-10-02 40 views
2

使用Flash 11 RC1与新的Molehill API,我想启用背面剔除。测试文档非常模糊,但这个例子意味着Molehill希望前面的三角形逆时针旋转,这是非常正常的。使用Molehill背面剔除

但是当我的多边形逆时针旋转时,我会得到完全相反的行为 - 换句话说,就好像与自己的例子相反,Molehill期望正面的三角形顺时针旋转。由于文件没有明确说明哪个绕组是正确的,所以我很难过。

我不想只是把我所有的三角形都翻转过来,直到它看起来正确,然后我才100%地看到Molehill真正想要的东西,因为这有一个公平的机会隐藏了根本的误解。

我正在使用简单的透视投影(关于.transpose()的说明如下:因为copyRawDataFrom需要列主要顺序的数据,而且我讨厌在代码中查看的方式,所以我决定只是输入row-major和转换矩阵后 - 所以告我: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(); 

任何线索?

回答