Fungsi D3DXPlaneTransform (D3dx9math.h)
Catatan
Pustaka utilitas D3DX tidak digunakan lagi. Kami menyarankan agar Anda menggunakan DirectXMath sebagai gantinya.
Mengubah bidang dengan matriks. Matriks input adalah perubahan terbalik dari transformasi aktual.
Sintaks
D3DXPLANE* D3DXPlaneTransform(
_Inout_ D3DXPLANE *pOut,
_In_ const D3DXPLANE *pP,
_In_ const D3DXMATRIX *pM
);
Parameter
-
pOut [masuk, keluar]
-
Jenis: D3DXPLANE*
Penunjuk ke struktur D3DXPLANE yang berisi bidang transformasi yang dihasilkan. Lihat contoh.
-
pP [in]
-
Jenis: const D3DXPLANE*
Arahkan ke struktur input D3DXPLANE , yang berisi bidang yang akan diubah. Vektor (a,b,c) yang menjelaskan bidang harus dinormalisasi sebelum fungsi ini dipanggil. Lihat contoh.
-
pM [in]
-
Jenis: const D3DXMATRIX*
Arahkan ke struktur D3DXMATRIX sumber, yang berisi nilai transformasi. Matriks ini harus berisi perubahan terbalik dari nilai transformasi.
Menampilkan nilai
Jenis: D3DXPLANE*
Penunjuk ke struktur D3DXPLANE , mewakili bidang yang diubah. Ini adalah nilai yang sama yang dikembalikan dalam parameter pOut sehingga fungsi ini dapat digunakan sebagai parameter untuk fungsi lain.
Keterangan
Contoh
Contoh ini mengubah bidang dengan menerapkan skala yang tidak seragam.
D3DXPLANE planeNew;
D3DXPLANE plane(0,1,1,0);
D3DXPlaneNormalize(&plane, &plane);
D3DXMATRIX matrix;
D3DXMatrixScaling(&matrix, 1.0f,2.0f,3.0f);
D3DXMatrixInverse(&matrix, NULL, &matrix);
D3DXMatrixTranspose(&matrix, &matrix);
D3DXPlaneTransform(&planeNew, &plane, &matrix);
Bidang dijelaskan oleh ax + by + cz + dw = 0. Bidang pertama dibuat dengan (a,b,c,d) = (0,1,1,0), yang merupakan bidang yang dijelaskan oleh y + z = 0. Setelah penskalakan, bidang baru berisi (a,b,c,d) = (0, 0,353f, 0,235f, 0), yang menunjukkan bidang baru yang akan dijelaskan oleh 0,353y + 0,235z = 0.
Parameter pM berisi urutan terbalik dari matriks transformasi. Transpose terbalik diperlukan oleh metode ini sehingga vektor normal dari bidang yang diubah juga dapat diubah dengan benar.
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