Metode ID3DXMesh::OptimizeInplace

Menghasilkan jala dengan wajah dan simpul yang diurutkan ulang untuk mengoptimalkan performa menggambar. Metode ini menyusun ulang jala yang ada.

Sintaks

HRESULT OptimizeInplace(
  [in]        DWORD        Flags,
  [in]  const DWORD        *pAdjacencyIn,
  [out]       DWORD        *pAdjacencyOut,
  [out]       DWORD        *pFaceRemap,
  [out]       LPD3DXBUFFER *ppVertexRemap
);

Parameter

Bendera [in]

Jenis: DWORD

Kombinasi satu atau beberapa bendera D3DXMESHOPT , menentukan jenis pengoptimalan yang akan dilakukan.

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.

pAdjacencyOut [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. Jika nilai yang disediakan untuk argumen ini adalah NULL, data yang berdekor tidak dikembalikan.

pFaceRemap [out]

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. Jika nilai yang disediakan untuk argumen ini adalah NULL, data remap puncak tidak dikembalikan.

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, D3DXERR_CANNOTATTRSORT, E_OUTOFMEMORY.

Keterangan

Sebelum menjalankan ID3DXMesh::OptimizeInplace, 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.

Catatan

Metode ini akan gagal jika jala berbagi buffer vertex-nya dengan jala lain, kecuali D3DXMESHOPT_IGNOREVERTS diatur dalam Bendera.

 

Persyaratan

Persyaratan Nilai
Header
D3DX9Mesh.h
Pustaka
D3dx9.lib

Lihat juga

ID3DXMesh

ID3DXMesh::Optimize