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:
- Derive ID3DXAllocateHierarchy, menerapkan setiap metode. Ini mengontrol bagaimana bingkai dan jala dialokasikan dan dikosongkan.
- 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.
- Buat objek kelas ID3DXAllocateHierarchy Anda, dan secara opsional kelas LoadUserData Anda. Anda tidak perlu memanggil metode apa pun dari objek ini sendiri.
- 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 |
|
Pustaka |
|
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk