Lihat transformasi

Transformasi tampilan menemukan penampil di ruang dunia, mengubah simpul menjadi ruang kamera. Di ruang kamera, kamera, atau penampil, berada di asalnya, melihat ke arah z positif. Matriks tampilan merelokasi objek di dunia di sekitar posisi kamera - asal ruang kamera - dan orientasi. Direct3D menggunakan sistem koordinat sebelah kiri, jadi z positif menjadi adegan.

Ada banyak cara untuk membuat matriks tampilan. Dalam semua kasus, kamera memiliki beberapa posisi dan orientasi logis di ruang dunia yang digunakan sebagai titik awal untuk membuat matriks tampilan yang akan diterapkan ke model dalam adegan. Matriks tampilan menerjemahkan dan memutar objek untuk menempatkannya di ruang kamera, di mana kamera berada di asalnya. Salah satu cara untuk membuat matriks tampilan adalah dengan menggabungkan matriks terjemahan dengan matriks rotasi untuk setiap sumbu. Dalam pendekatan ini, persamaan matriks umum berikut berlaku.

persamaan transformasi tampilan

Dalam rumus ini, V adalah matriks tampilan yang sedang dibuat, T adalah matriks terjemahan yang memposisikan ulang objek di dunia, dan Rₓ melalui Rz adalah matriks rotasi yang memutar objek di sepanjang sumbu x, y-, dan z. Matriks terjemahan dan rotasi didasarkan pada posisi dan orientasi logis kamera di ruang dunia. Jadi, jika posisi logis kamera di dunia adalah <10.20.100>, tujuan dari matriks terjemahan adalah untuk memindahkan objek -10 unit di sepanjang sumbu x, -20 unit di sepanjang sumbu y, dan -100 unit di sepanjang sumbu z. Matriks rotasi dalam rumus didasarkan pada orientasi kamera, dalam hal berapa banyak sumbu ruang kamera diputar tidak selaras dengan ruang dunia. Misalnya, jika kamera yang disebutkan sebelumnya menunjuk lurus ke bawah, sumbu z-nya adalah 90 derajat (radian pi/2) di luar penyelarasan dengan sumbu z ruang dunia, seperti yang ditunjukkan dalam ilustrasi berikut.

ilustrasi ruang tampilan kamera dibandingkan dengan ruang dunia

Matriks rotasi menerapkan rotasi yang sama, tetapi berlawanan, besarannya dengan model dalam adegan. Matriks tampilan untuk kamera ini mencakup rotasi -90 derajat di sekitar sumbu x. Matriks rotasi dikombinasikan dengan matriks terjemahan untuk membuat matriks tampilan yang menyesuaikan posisi dan orientasi objek dalam adegan sehingga bagian atasnya menghadap ke kamera, memberikan tampilan bahwa kamera berada di atas model.

Menyiapkan Matriks Tampilan

Direct3D menggunakan dunia dan melihat matriks untuk mengonfigurasi beberapa struktur data internal. Setiap kali Anda mengatur dunia baru atau melihat matriks, sistem menghitung ulang struktur internal terkait. Sering mengatur matriks ini secara komputasi memakan waktu. Anda dapat meminimalkan jumlah perhitungan yang diperlukan dengan menggabungkan dunia Anda dan melihat matriks ke dalam matriks tampilan dunia yang Anda tetapkan sebagai matriks dunia, lalu mengatur matriks tampilan ke identitas. Simpan salinan cache dari dunia individual dan lihat matriks yang dapat Anda ubah, susun, dan atur ulang matriks dunia sesuai kebutuhan.

Transformasi