昨天花了一天時間做了GPU Gems中的環境遮蔽的預處理程序
遺憾的是處理的結果及其糟糕,幾乎所有頂點的遮蔽信息都是完全遮蔽,
今天又花了不少時間調試發現那段從網上找來的射線與三角形相交檢測的函數有問題,
又Google了一番發現D3DX果然是帶了這個功能的函數的,具體聲明如下:
BOOL ::D3DXIntersectTri(const D3DXVECTOR3 *p0,
const D3DXVECTOR3 *p1,
const D3DXVECTOR3 *p2,
const D3DXVECTOR3 *position,
const D3DXVECTOR3 *direction,
float *u,
float *v,
float *distance);
其中p0, p1, p2分別指向三角形的三個頂點,position為射線起點,direction為射線方向向量,u,v,為交點重心坐標(我是沒弄明白這是個什么東東),distance為起點到交點距離
成功返回TRUE,失敗返回FALSE。
代到程序里一試,果然成功了~~~于是把這個貼出來,不知道的人看到也能少走點彎路~
另外希望把代碼貼到網上的人也應該先確認其正確性了再貼。
posted on 2009-08-26 19:51
Vertexer 閱讀(1507)
評論(2) 編輯 收藏 引用