Untuk tujuan apa kita menggunakan Model View Projection Matrix? Mengapa shader memerlukan Model View Projection Matrix?
Untuk tujuan apa kita menggunakan Model View Projection Matrix? Mengapa shader memerlukan Model View Projection Matrix?
Jawaban:
Matriks model, tampilan, dan proyeksi adalah tiga matriks terpisah. Model peta dari ruang koordinat lokal objek ke ruang dunia, pandangan dari ruang dunia ke ruang kamera, proyeksi dari kamera ke layar.
Jika Anda membuat ketiganya, Anda dapat menggunakan satu hasil untuk memetakan seluruhnya dari ruang objek ke ruang layar, membuat Anda dapat mengerjakan apa yang perlu Anda sampaikan ke tahap berikutnya dari pipeline yang dapat diprogram dari posisi vertex yang masuk.
Dalam pipeline fungsionalitas tetap yang lama, Anda akan menerapkan model dan tampilan bersama-sama, kemudian mengerjakan pencahayaan menggunakan hasil lain yang diturunkan darinya (dengan beberapa perbaikan sehingga misal normals masih merupakan satuan panjang bahkan jika Anda telah menerapkan beberapa penskalaan ke objek ), lalu terapkan proyeksi. Anda dapat melihatnya tercermin dalam OpenGL, yang tidak pernah memisahkan model dan matriks tampilan - menjaganya sebagai satu tumpukan matriks tampilan model. Oleh karena itu, terkadang Anda juga melihatnya tercermin dalam shader.
Jadi: matriks proyeksi tampilan model yang disusun sering digunakan oleh shader untuk memetakan dari simpul yang Anda muat untuk setiap model ke layar. Itu tidak wajib, ada banyak cara untuk mencapai hal yang sama, itu biasa saja karena memungkinkan semua kemungkinan transformasi linier. Karena itu, versi yang lebih sedikit tersusun juga merupakan norma di dunia saluran pipa tetap.
Karena matriks itu nyaman. Matriks membantu untuk mengubah lokasi / arah sehubungan dengan ruang yang berbeda (Sebuah ruang dapat ditentukan oleh 3 sumbu tegak lurus dan satu titik asal).
Berikut adalah contoh dari buku yang ditentukan oleh @ legends2k di komentar.
Penduduk Cartesia menggunakan peta kota mereka dengan asal yang berpusat dengan cukup tepat di pusat kota dan sumbu diarahkan di sepanjang titik mata angin kompas. Penduduk Disleksia menggunakan peta kota mereka dengan koordinat yang dipusatkan pada titik yang berubah-ubah dan sumbu yang mengarah ke beberapa arah yang mungkin tampak sebagai ide yang bagus pada saat itu. Penduduk kedua kota cukup senang dengan peta masing-masing, tetapi Insinyur Transportasi Negara menugaskan tugas untuk menyiapkan anggaran untuk jalan raya pertama antara Cartesia dan Disleksia membutuhkan peta yang menunjukkan detail dari kedua kota, yang karenanya memperkenalkan koordinat ketiga. sistem yang lebih unggul darinya, meski belum tentu ke orang lain.
Ini contoh lainnya,
Asumsikan bahwa Anda telah membuat objek mobil dalam permainan dengan posisi puncaknya menggunakan koordinat dunia. Misalkan Anda harus menggunakan mobil yang sama ini di beberapa permainan lain di dunia yang sama sekali berbeda, Anda harus menentukan posisinya lagi dan perhitungannya akan rumit. Ini karena Anda sekali lagi harus menghitung posisi jendela, kap, lampu depan, roda, dll., Di dalam mobil sehubungan dengan dunia baru.
Lihat video ini untuk memahami konsep model, tampilan dan proyeksi. (sangat dianjurkan)
Kemudian lihat ini untuk memahami bagaimana simpul di dunia direpresentasikan sebagai Matriks dan bagaimana mereka ditransformasikan.