Compartir a través de


Función D3DXComputeNormals

Calcula los valores normales de la unidad para cada vértice de una malla. Se proporciona para admitir aplicaciones heredadas. Use D3DXComputeTangentFrameEx para obtener mejores resultados.

Sintaxis

HRESULT D3DXComputeNormals(
  _Inout_       LPD3DXBASEMESH pMesh,
  _In_    const DWORD          *pAdjacency
);

Parámetros

pMesh [in, out]

Tipo: LPD3DXBASEMESH

Puntero a una interfaz ID3DXBaseMesh , que representa el objeto de malla normalizado.

pAdjacency [in]

Tipo: const DWORD*

Puntero a una matriz de tres DWORD por cara que especifican los tres vecinos para cada cara de la malla progresiva creada. Este parámetro es opcional y debe establecerse en NULL si no se usa.

Valor devuelto

Tipo: HRESULT

Si la función se ejecuta correctamente, el valor devuelto es S_OK. Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Comentarios

La malla de entrada debe tener la marca D3DFVF_NORMAL especificada en su formato de vértice flexible (FVF).

Un valor normal de un vértice se genera promediando los normales de todas las caras que comparten ese vértice.

Si se proporciona adyacencia, se omiten los vértices replicados y se "suavizan". Si no se proporciona la adyacencia, los vértices replicados tendrán un promedio normal de solo las caras a las que hacen referencia explícitamente.

Esta función simplemente llama a D3DXComputeTangentFrameEx con los siguientes 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 Value
Encabezado
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Consulte también

Funciones de malla