Partilhar via


Função D3DXSimplifyMesh

Gera uma malha simplificada usando os pesos fornecidos que chegam o mais próximo possível do MinValue fornecido.

Sintaxe

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

Ponteiro para uma interface ID3DXMesh , que representa a malha de origem.

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 a serem simplificados.

pVertexAttributeWeights [in]

Tipo: const D3DXATTRIBUTEWEIGHTS*

Ponteiro para uma estrutura D3DXATTRIBUTEWEIGHTS , que contém o peso de cada componente de vértice. Se esse parâmetro for definido como NULL, uma estrutura padrão será usada. Consulte Observações.

pVertexWeights [in]

Tipo: const FLOAT*

Ponteiro para uma matriz de pesos de vértice. Se esse parâmetro for definido como NULL, todos os pesos de vértice serão definidos como 1,0.

MinValue [in]

Tipo: DWORD

Número de vértices ou rostos, dependendo do sinalizador definido no parâmetro Options , pelo qual simplificar a malha de origem.

Opções [in]

Tipo: DWORD

Especifica opções de simplificação para a malha. Um dos sinalizadores em D3DXMESHSIMP pode ser definido.

ppMesh [out]

Tipo: LPD3DXMESH*

Endereço de um ponteiro para uma interface ID3DXMesh , representando a malha de simplificação retornada.

Valor retornado

Tipo: HRESULT

Se a função for bem-sucedida, o valor retornado será D3D_OK. Se a função falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.

Comentários

Essa função gera uma malha que tem vértices ou rostos MinValue .

Se o processo de simplificação não puder reduzir a malha para MinValue, a chamada ainda terá êxito porque MinValue é um mínimo desejado, não um mínimo absoluto.

Se pVertexAttributeWeights for definido como NULL, os valores a seguir serão atribuídos à estrutura D3DXATTRIBUTEWEIGHTS padrão.

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};

Essa estrutura padrão é o que a maioria dos aplicativos deve usar porque considera apenas ajuste geométrico e normal. Somente em casos especiais os outros campos de membro precisarão ser modificados.

Requisitos

Requisito Valor
parâmetro
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Confira também

Funções de malha