Partilhar via


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
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Confira também

Funções de malha