D3DXMatrixShadow創建一個平面的陰影矩陣

 

定義:

D3DXMATRIX *WINAPI D3DXMatrixShadow(      

    D3DXMATRIX *pOut,
    CONST D3DXVECTOR4 *pLight,
    CONST D3DXPLANE *pPlane
);

參數:

pOut

[in, out] 指向D3DXMATRIX 結構的操作結果矩陣。  

pLight

[in] 指向D3DXVECTOR4 結構的光線位置向量。

pPlane

[in] 指向D3DXPLANE 結構的平面方程。

返回值:

指向D3DXMATRIX 結構的矩陣,它是用來把幾何在平面陰影變換矩陣。

 

說明:

如果從光線照射幾何物體有陰影,就可以用函數D3DXMatrixShadow 計算陰影變換矩陣。

函數返回值跟pOut 參數返回值是一樣的。這樣可以讓函數D3DXMatrixShadow作爲其它函數的參數使用。

用下面的方法計算這個矩陣:

P = normalize(Plane);
L = Light;
d = dot(P, L)
 
P.a * L.x + d  P.a * L.y      P.a * L.z      P.a * L.w  
P.b * L.x      P.b * L.y + d  P.b * L.z      P.b * L.w  
P.c * L.x      P.c * L.y      P.c * L.z + d  P.c * L.w  
P.d * L.x      P.d * L.y      P.d * L.z      P.d * L.w + d
如果光線的W分量是0,表示從原點發出的方向光。如果W分量是1,表示它是一個點光源。

函數信息:

Header

d3dx9math.h

Import library

d3dx9.lib

Minimum operating systems

Windows 98

發佈了23 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章