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 |
|
Biblioteca |
|
Confira também