Compartilhar via


Função D3DXLoadMeshFromX

Carrega uma malha de um arquivo .x do DirectX.

Sintaxe

HRESULT D3DXLoadMeshFromX(
  _In_  LPCTSTR           pFilename,
  _In_  DWORD             Options,
  _In_  LPDIRECT3DDEVICE9 pD3DDevice,
  _Out_ LPD3DXBUFFER      *ppAdjacency,
  _Out_ LPD3DXBUFFER      *ppMaterials,
  _Out_ LPD3DXBUFFER      *ppEffectInstances,
  _Out_ DWORD             *pNumMaterials,
  _Out_ LPD3DXMESH        *ppMesh
);

Parâmetros

pFilename [in]

Tipo: LPCTSTR

Ponteiro para uma cadeia de caracteres que especifica o nome do arquivo. Se as configurações do compilador exigirem Unicode, o tipo de dados LPCTSTR será resolvido para LPCWSTR. Caso contrário, o tipo de dados de cadeia de caracteres é resolvido para LPCSTR. Consulte Observações.

Opções [in]

Tipo: DWORD

Combinação de um ou mais sinalizadores da enumeração D3DXMESH , que especifica opções de criação para a malha.

pD3DDevice [in]

Tipo: LPDIRECT3DDEVICE9

Ponteiro para uma interface IDirect3DDevice9 , o objeto do dispositivo associado à malha.

ppAdjacency [out]

Tipo: LPD3DXBUFFER*

Ponteiro para um buffer que contém dados de adjacência. Os dados de adjacência contêm uma matriz de três DWORDs por rosto que especificam os três vizinhos para cada rosto na malha. Para obter mais informações sobre como acessar o buffer, consulte ID3DXBuffer.

ppMaterials [out]

Tipo: LPD3DXBUFFER*

Ponteiro para um buffer que contém dados de materiais. O buffer contém uma matriz de estruturas D3DXMATERIAL , contendo informações do arquivo DirectX. Para obter mais informações sobre como acessar o buffer, consulte ID3DXBuffer.

ppEffectInstances [out]

Tipo: LPD3DXBUFFER*

Ponteiro para um buffer que contém uma matriz de instâncias de efeito, uma por grupo de atributos na malha retornada. Uma instância de efeito é uma instância específica das informações de estado usadas para inicializar um efeito. Consulte D3DXEFFECTINSTANCE. Para obter mais informações sobre como acessar o buffer, consulte ID3DXBuffer.

pNumMaterials [out]

Tipo: DWORD*

Ponteiro para o número de estruturas D3DXMATERIAL na matriz ppMaterials , quando o método retorna.

ppMesh [out]

Tipo: LPD3DXMESH*

Endereço de um ponteiro para uma interface ID3DXMesh , representando a malha carregada.

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 valores: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Comentários

A configuração do compilador também determina a versão da função. Se Unicode for definido, a chamada de função será resolvida para D3DXLoadMeshFromXW. Caso contrário, a chamada de função será resolvida para D3DXLoadMeshFromXA porque as cadeias de caracteres ANSI estão sendo usadas.

Todas as malhas do arquivo serão recolhidas em uma malha de saída. Se o arquivo contiver uma hierarquia de quadros, todas as transformações serão aplicadas à malha.

Para arquivos de malha que não contêm informações de instância de efeito, instâncias de efeito padrão serão geradas a partir das informações de material no arquivo .x. Uma instância de efeito padrão terá valores padrão que correspondem aos membros da estrutura D3DMATERIAL9 .

O nome de textura padrão também é preenchido, mas é tratado de forma diferente. O nome será Texture0@Name, que corresponde a uma variável de efeito pelo nome de "Texture0" com uma anotação chamada "Name". Isso conterá o nome do arquivo de cadeia de caracteres para a textura.

Requisitos

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

Confira também

Funções de malha

D3DXEFFECTDEFAULT

D3DXEFFECTINSTANCE