ID3DXMesh::Optimalkan metode
Menghasilkan jala baru dengan wajah dan simpul yang diurutkan ulang untuk mengoptimalkan performa menggambar.
Sintaks
HRESULT Optimize(
[in] DWORD Flags,
[in] const DWORD *pAdjacencyIn,
[in, out] DWORD *pAdjacencyOut,
[in, out] DWORD *pFaceRemap,
[out] LPD3DXBUFFER *ppVertexRemap,
[out] LPD3DXMESH *ppOptMesh
);
Parameter
-
Bendera [in]
-
Jenis: DWORD
Menentukan jenis pengoptimalan yang akan dilakukan. Parameter ini dapat diatur ke kombinasi satu atau beberapa bendera dari D3DXMESHOPT dan D3DXMESH (kecuali D3DXMESH_32BIT, D3DXMESH_IB_WRITEONLY, dan D3DXMESH_WRITEONLY).
-
pAdjacencyIn [in]
-
Jenis: const DWORD*
Arahkan ke array tiga DWORD per wajah yang menentukan tiga tetangga untuk setiap wajah dalam jala sumber. Jika tepi tidak memiliki wajah yang berdekatan, nilainya 0xffffffff. Lihat Keterangan.
-
pAdjacencyOut [in, out]
-
Jenis: DWORD*
Arahkan ke array tiga DWORD per wajah yang menentukan tiga tetangga untuk setiap wajah dalam jala yang dioptimalkan. Jika tepi tidak memiliki wajah yang berdekatan, nilainya 0xffffffff.
-
pFaceRemap [masuk, keluar]
-
Jenis: DWORD*
Array DWORD, satu per wajah, yang mengidentifikasi wajah jala asli yang sesuai dengan setiap wajah dalam jala yang dioptimalkan. Jika nilai yang disediakan untuk argumen ini adalah NULL, data remap wajah tidak dikembalikan.
-
ppVertexRemap [out]
-
Jenis: LPD3DXBUFFER*
Alamat penunjuk ke antarmuka ID3DXBuffer , yang berisi DWORD untuk setiap puncak yang menentukan bagaimana simpul baru memetakan ke simpul lama. Remap ini berguna jika Anda perlu mengubah data eksternal berdasarkan pemetaan vertex baru.
-
ppOptMesh [out]
-
Jenis: LPD3DXMESH*
Alamat penunjuk ke antarmuka ID3DXMesh , mewakili jala yang dioptimalkan.
Menampilkan nilai
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan D3D_OK. Jika metode gagal, nilai yang dikembalikan dapat berupa salah satu hal berikut: D3DERR_INVALIDCALL, E_OUTOFMEMORY.
Keterangan
Metode ini menghasilkan jala baru. Sebelum menjalankan Optimize, aplikasi harus menghasilkan buffer yang berdampingan dengan memanggil ID3DXBaseMesh::GenerateAdjacency. Buffer yang berdampingan berisi data yang berdampingan, seperti daftar tepi dan wajah yang berdampingan satu sama lain.
Metode ini sangat mirip dengan metode ID3DXBaseMesh::CloneMesh , kecuali bahwa metode ini dapat melakukan pengoptimalan saat menghasilkan klon baru jala. Jala output mewarisi semua parameter pembuatan jala input.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|
Lihat juga