Función D3DXSimplifyMesh

Genera una malla simplificada con los pesos proporcionados que se acercan lo más posible al valor MinValue especificado.

Sintaxis

HRESULT D3DXSimplifyMesh(
  _In_        LPD3DXMESH           pMesh,
  _In_  const DWORD                *pAdjacency,
  _In_  const D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights,
  _In_  const FLOAT                *pVertexWeights,
  _In_        DWORD                MinValue,
  _In_        DWORD                Options,
  _Out_       LPD3DXMESH           *ppMesh
);

Parámetros

pMesh [in]

Tipo: LPD3DXMESH

Puntero a una interfaz ID3DXMesh , que representa la malla de origen.

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 que se va a simplificar.

pVertexAttributeWeights [in]

Tipo: const D3DXATTRIBUTEWEIGHTS*

Puntero a una estructura D3DXATTRIBUTEWEIGHTS , que contiene el peso de cada componente de vértice. Si este parámetro se establece en NULL, se usa una estructura predeterminada. Vea la sección Comentarios.

pVertexWeights [in]

Tipo: const FLOAT*

Puntero a una matriz de pesos de vértices. Si este parámetro se establece en NULL, todos los pesos de vértice se establecen en 1,0.

MinValue [in]

Tipo: DWORD

Número de vértices o caras, según la marca establecida en el parámetro Options , por el que se simplificará la malla de origen.

Opciones [in]

Tipo: DWORD

Especifica las opciones de simplificación de la malla. Se puede establecer una de las marcas de D3DXMESHSIMP .

ppMesh [out]

Tipo: LPD3DXMESH*

Dirección de un puntero a una interfaz ID3DXMesh , que representa la malla de simplificación devuelta.

Valor devuelto

Tipo: HRESULT

Si la función se ejecuta correctamente, el valor devuelto es D3D_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

Esta función genera una malla que tiene vértices MinValue o caras.

Si el proceso de simplificación no puede reducir la malla a MinValue, la llamada sigue funcionando porque MinValue es un mínimo deseado, no un mínimo absoluto.

Si pVertexAttributeWeights está establecido en NULL, los valores siguientes se asignan a la estructura D3DXATTRIBUTEWEIGHTS predeterminada.

D3DXATTRIBUTEWEIGHTS AttributeWeights;
    
AttributeWeights.Position  = 1.0;
AttributeWeights.Boundary =  1.0;
AttributeWeights.Normal   =  1.0;
AttributeWeights.Diffuse  =  0.0;
AttributeWeights.Specular =  0.0;
AttributeWeights.Tex[8]   =  {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};

Esta estructura predeterminada es la que la mayoría de las aplicaciones deben usar porque solo considera el ajuste geométrico y normal. Solo en casos especiales se deben modificar los demás campos de miembro.

Requisitos

Requisito Value
Encabezado
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Consulte también

Funciones de malla