Fungsi D3DXLoadMeshHierarchyFromX

Memuat hierarki bingkai pertama dari file .x.

Sintaks

HRESULT D3DXLoadMeshHierarchyFromX(
  _In_  LPCTSTR                   Filename,
  _In_  DWORD                     MeshOptions,
  _In_  LPDIRECT3DDEVICE9         pDevice,
  _In_  LPD3DXALLOCATEHIERARCHY   pAlloc,
  _In_  LPD3DXLOADUSERDATA        pUserDataLoader,
  _Out_ LPD3DXFRAME               *ppFrameHierarchy,
  _Out_ LPD3DXANIMATIONCONTROLLER *ppAnimController
);

Parameter

Nama file [in]

Jenis: LPCTSTR

Penunjuk ke string yang menentukan nama file. Jika pengaturan pengkompilasi memerlukan Unicode, jenis data LPCTSTR diselesaikan ke LPCWSTR. Jika tidak, jenis data string diselesaikan ke LPCSTR. Lihat Keterangan.

MeshOptions [in]

Jenis: DWORD

Kombinasi satu atau beberapa bendera dari enumerasi D3DXMESH yang menentukan opsi pembuatan untuk jala.

pDevice [in]

Jenis: LPDIRECT3DDEVICE9

Penunjuk ke antarmuka IDirect3DDevice9 , objek perangkat yang terkait dengan jala.

pAlloc [in]

Jenis: LPD3DXALLOCATEHIERARCHY

Arahkan ke antarmuka ID3DXAllocateHierarchy .

pUserDataLoader [in]

Jenis: LPD3DXLOADUSERDATA

Antarmuka yang disediakan aplikasi yang memungkinkan pemuatan data pengguna. Lihat ID3DXLoadUserData.

ppFrameHierarchy [out]

Jenis: LPD3DXFRAME*

Mengembalikan penunjuk ke hierarki bingkai yang dimuat. Lihat D3DXFRAME.

ppAnimController [out]

Jenis: LPD3DXANIMATIONCONTROLLER*

Mengembalikan penunjuk ke pengontrol animasi yang terkait dengan animasi dalam file .x. Ini dibuat dengan trek dan peristiwa default. Lihat ID3DXAnimationController.

Menampilkan nilai

Jenis: HRESULT

Jika fungsi berhasil, nilai yang dikembalikan adalah D3D_OK. Jika fungsi gagal, nilai yang dikembalikan bisa menjadi salah satu nilai berikut: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Keterangan

Pengaturan kompilator juga menentukan versi fungsi. Jika Unicode ditentukan, panggilan fungsi diselesaikan ke D3DXLoadMeshHierarchyFromXW. Jika tidak, panggilan fungsi menyelesaikan ke D3DXLoadMeshHierarchyFromXA.

Semua jala dalam file akan diciutkan menjadi satu jala output. Jika file berisi hierarki bingkai, semua transformasi akan diterapkan ke jala.

D3DXLoadMeshHierarchyFromX memuat data animasi dan hierarki bingkai dari file .x. Ini memindai file .x dan membangun hierarki bingkai dan pengontrol animasi sesuai dengan objek turunan ID3DXAllocateHierarchy yang diteruskan ke dalamnya melalui pAlloc. Memuat data memerlukan beberapa langkah sebagai berikut:

  1. Derive ID3DXAllocateHierarchy, menerapkan setiap metode. Ini mengontrol bagaimana bingkai dan jala dialokasikan dan dikosongkan.
  2. Derive ID3DXLoadUserData, menerapkan setiap metode. Jika file .x Anda tidak memiliki data yang ditentukan pengguna yang disematkan, atau jika Anda tidak membutuhkannya, Anda dapat melewati bagian ini.
  3. Buat objek kelas ID3DXAllocateHierarchy Anda, dan secara opsional kelas LoadUserData Anda. Anda tidak perlu memanggil metode apa pun dari objek ini sendiri.
  4. Panggil D3DXLoadMeshHierarchyFromX, lewati objek ID3DXAllocateHierarchy Dan objek ID3DXLoadUserData (atau NULL) Anda untuk membuat hierarki bingkai dan pengontrol animasi. Semua set animasi dan bingkai secara otomatis didaftarkan ke pengontrol animasi.

Selama beban, CreateFrame dan LoadFrameChildData dipanggil kembali pada setiap bingkai untuk mengontrol pemuatan dan alokasi bingkai. Aplikasi mendefinisikan metode ini untuk mengontrol bagaimana bingkai disimpan. CreateMeshContainer dan LoadMeshChildData dipanggil kembali pada setiap objek jala untuk mengontrol pemuatan dan alokasi objek jala. LoadTopLevelData dipanggil kembali untuk setiap objek tingkat atas yang tidak dimuat oleh metode lain.

Untuk membebaskan data ini, panggil ID3DXAnimationController::Release untuk membebaskan set animasi, dan D3DXFRAMEDestroy, meneruskan simpul akar hierarki bingkai dan objek kelas ID3DXAllocateHierarchy turunan Anda. DestroyFrame dan DestroyMeshContainer masing-masing akan dipanggil untuk setiap objek bingkai dan jala dalam hierarki bingkai. Implementasi DestroyFrame Anda harus merilis semua yang dialokasikan oleh CreateFrame, dan juga untuk metode kontainer jala.

Persyaratan

Persyaratan Nilai
Header
D3dx9anim.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi Animasi