Função D3DXComputeNormals
Calcula os normais de unidade para cada vértice em uma malha. Fornecido para dar suporte a aplicativos herdados. Use D3DXComputeTangentFrameEx para obter melhores resultados.
Sintaxe
HRESULT D3DXComputeNormals(
_Inout_ LPD3DXBASEMESH pMesh,
_In_ const DWORD *pAdjacency
);
Parâmetros
-
pMesh [in, out]
-
Tipo: LPD3DXBASEMESH
Ponteiro para uma interface ID3DXBaseMesh , representando o objeto de malha normalizado.
-
pAdjacency [in]
-
Tipo: const DWORD*
Ponteiro para uma matriz de três DWORDs por rosto que especificam os três vizinhos para cada rosto na malha progressiva criada. Esse parâmetro é opcional e deve ser definido como NULL se ele não for utilizado.
Valor retornado
Tipo: HRESULT
Se a função for bem-sucedida, o valor retornado será S_OK. Se a função falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.
Comentários
A malha de entrada deve ter o sinalizador D3DFVF_NORMAL especificado em seu FVF (formato de vértice flexível).
Um normal para um vértice é gerado pela média dos normais de todas as faces que compartilham esse vértice.
Se a adjacência for fornecida, os vértices replicados serão ignorados e "suavizados". Se a adjacência não for fornecida, os vértices replicados terão a média normal de apenas os rostos referenciando-os explicitamente.
Essa função simplesmente chama D3DXComputeTangentFrameEx com os seguintes parâmetros de entrada:
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);
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também