Metode IDirect3DDevice9::MultiplyTransform (d3d9.h)
Mengalikan matriks dunia, tampilan, atau proyeksi perangkat dengan matriks tertentu.
Sintaks
HRESULT MultiplyTransform(
[in] D3DTRANSFORMSTATETYPE unnamedParam1,
[in] const D3DMATRIX *unnamedParam2
);
Parameter
[in] unnamedParam1
Jenis: D3DTRANSFORMSTATETYPE
Anggota jenis D3DTRANSFORMSTATETYPE yang dijumlahkan, atau makro D3DTS_WORLDMATRIX yang mengidentifikasi matriks perangkat mana yang akan dimodifikasi. Pengaturan yang paling umum, D3DTS_WORLDMATRIX(0), memodifikasi matriks dunia, tetapi Anda dapat menentukan bahwa metode memodifikasi tampilan atau matriks proyeksi, jika diperlukan.
[in] unnamedParam2
Jenis: const D3DMATRIX*
Arahkan ke struktur D3DMATRIX yang memodifikasi transformasi saat ini.
Nilai kembali
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan D3D_OK. D3DERR_INVALIDCALL jika salah satu argumen tidak valid.
Keterangan
Urutan perkalian adalah pMatrix times State.
Aplikasi mungkin menggunakan metode IDirect3DDevice9::MultiplyTransform untuk bekerja dengan hierarki transformasi. Misalnya, geometri dan transformasi yang menjelaskan lengan mungkin diatur dalam hierarki berikut.
shoulder_transformation
upper_arm geometry
elbow transformation
lower_arm geometry
wrist transformation
hand geometry
Aplikasi mungkin menggunakan serangkaian panggilan berikut untuk merender hierarki ini. Tidak semua parameter ditampilkan dalam pseudocode ini.
IDirect3DDevice9::SetTransform(D3DTS_WORLDMATRIX(0),
shoulder_transform)
IDirect3DDevice9::DrawPrimitive(upper_arm)
IDirect3DDevice9::MultiplyTransform(D3DTS_WORLDMATRIX(0),
elbow_transform)
IDirect3DDevice9::DrawPrimitive(lower_arm)
IDirect3DDevice9::MultiplyTransform(D3DTS_WORLDMATRIX(0),
wrist_transform)
IDirect3DDevice9::DrawPrimitive(hand)
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d9.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |