Compartilhar via


Método ID3DX10Mesh::Optimize

Gera uma nova malha com rostos e vértices reordenados para otimizar o desempenho do desenho.

Sintaxe

HRESULT Optimize(
  [in]  UINT        Flags,
  [in]  UINT        *pFaceRemap,
  [out] LPD3D10BLOB *ppVertexRemap
);

Parâmetros

Sinalizadores [in]

Tipo: UINT

Especifica o tipo de otimização a ser executada. Esse parâmetro pode ser definido como uma combinação de um ou mais sinalizadores de D3DXMESHOPT e D3DXMESH (exceto D3DXMESH_32BIT, D3DXMESH_IB_WRITEONLY e D3DXMESH_WRITEONLY).

pFaceRemap [in]

Tipo: UINT*

Uma matriz de UINTs, uma por rosto, que identifica a face de malha original que corresponde a cada rosto na malha otimizada. Se o valor fornecido para esse argumento for NULL, os dados de remapeamento facial não serão retornados.

ppVertexRemap [out]

Tipo: LPD3D10BLOB*

Endereço de um ponteiro para uma Interface ID3D10Blob, que contém um DWORD para cada vértice que especifica como os novos vértices são mapeados para os vértices antigos. Esse remapeamento será útil se você precisar alterar dados externos com base no novo mapeamento de vértice.

Valor retornado

Tipo: HRESULT

O valor retornado é um dos valores listados em Códigos de Retorno do Direct3D 10.

Comentários

Esse método gera uma nova malha. Antes de executar o Optimize, um aplicativo deve gerar um buffer de adjacência chamando ID3DX10Mesh::GenerateAdjacencyAndPointReps. O buffer de adjacência contém dados de adjacência, como uma lista de bordas e os rostos adjacentes uns aos outros.

Esse método é muito semelhante ao método ID3DX10Mesh::CloneMesh , exceto que ele pode executar a otimização ao gerar o novo clone da malha. A malha de saída herda todos os parâmetros de criação da malha de entrada.

Requisitos

Requisito Valor
parâmetro
D3DX10.h
Biblioteca
D3DX10.lib

Confira também

ID3DX10Mesh

D3DX Interfaces