D3DXComputeNormals 函式
計算網格中每個頂點的單位法線。 提供以支援繼承應用程式。 使用 D3DXComputeTangentFrameEx 來取得更好的結果。
語法
HRESULT D3DXComputeNormals(
_Inout_ LPD3DXBASEMESH pMesh,
_In_ const DWORD *pAdjacency
);
參數
-
pMesh [in, out]
-
類型: LPD3DXBASEMESH
ID3DXBaseMesh介面的指標,代表標準化網格物件。
-
pAdjacency [in]
-
類型:const DWORD*
每個臉部三個 DWORD 陣列的指標,指定所建立漸進式網格中每個臉部的三個芳鄰。 此參數是選擇性的,如果未使用,則應該設定為 Null 。
傳回值
類型: HRESULT
如果函式成功,傳回值會S_OK。 如果函式失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA E_OUTOFMEMORY。
備註
輸入網格必須以其彈性頂點格式指定D3DFVF_NORMAL旗標 , (FVF) 。
頂點的一般值是透過平均共用該頂點的所有臉部法線來產生。
如果提供相鄰,則會忽略複寫的頂點,並「平滑」覆寫。 如果未提供相鄰,複寫的頂點只會從明確參考它們的臉部中平均。
此函式只會使用下列輸入參數呼叫 D3DXComputeTangentFrameEx :
D3DXComputeTangentFrameEx( pMesh,
D3DX_DEFAULT,
0,
D3DX_DEFAULT,
0,
D3DX_DEFAULT,
0,
D3DDECLUSAGE_NORMAL,
0,
D3DXTANGENT_GENERATE_IN_PLACE | D3DXTANGENT_CALCULATE_NORMALS,
pAdjacency,
-1.01f,
-0.01f,
-1.01f,
NULL,
NULL);
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱