Apa itu Kamera OpenGL®?

“Kamera OpenGL®” adalah nama yang diberikan untuk posisi virtual penampil dalam adegan Open Graphics Library® (OpenGL®). Ini ditentukan oleh posisi penonton di dalam adegan, dan kemudian lokasi atau arah di mana penonton melihat. Posisi kamera dalam adegan OpenGL® akan menentukan bagian adegan mana yang akan ditampilkan ke perangkat tampilan dan pada sudut berapa. Dua matriks digunakan untuk mendeskripsikan kamera OpenGL®: matriks modelview dan matriks proyeksi, yang masing-masing menggambarkan posisi kamera dan cara objek yang dilihatnya ditampilkan. Sebuah kamera dapat dipindahkan dalam sebuah adegan untuk menunjukkan area yang berbeda, atau untuk mensimulasikan gerakan, meskipun dalam banyak kasus lebih mudah atau lebih efisien untuk memindahkan objek dalam sebuah adegan daripada kamera.

Saat mempelajari OpenGL®, beberapa programmer mengalami kesulitan memahami properti yang relatif abstrak dari kamera OpenGL®. Ini sebagian besar karena beberapa transformasi dan fungsi lainnya tidak beroperasi dengan cara yang sama pada kamera seperti pada objek OpenGL® standar. Selain itu, pengoperasian yang kompleks dengan kamera OpenGL® biasanya memerlukan kemahiran dengan matematika matriks dan pemahaman tentang jalur transformasi OpenGL®. Ada beberapa fungsi kenyamanan dalam mendukung perpustakaan OpenGL®, meskipun mungkin sulit untuk hanya mengandalkan toolkit dukungan dalam aplikasi yang lebih interaktif.

Posisi kamera OpenGL® ditentukan menggunakan matriks modelview. Kamera dapat diposisikan di mana saja dalam sebuah adegan dan diterjemahkan atau diputar di sepanjang sumbu apa pun. Dalam banyak aplikasi, terutama aplikasi yang hanya berisi beberapa objek, akan lebih mudah untuk menerapkan transformasi terbalik ke objek dalam adegan untuk memberikan tampilan gerak. Intinya, seluruh adegan bergerak di sekitar kamera statis dalam kasus ini. Untuk adegan yang lebih besar, akan lebih mudah untuk menangani kompleksitas pipa dan matematika matriks untuk menggerakkan kamera dengan bebas, meninggalkan adegan statis.

Atribut kamera OpenGL® dikendalikan oleh matriks proyeksi. Untuk menggunakan analogi kamera, matriks proyeksi dapat dianggap sebagai jenis lensa yang digunakan. Matriks proyeksi sering dimodifikasi untuk membuat proyeksi ortografis, yang tidak memiliki penyesuaian perspektif, dan proyeksi perspektif yang memperhitungkan jarak dalam menentukan ukuran objek. Efek lain, seperti lensa mata ikan, panjang fokus, atau rasio aspek yang berbeda, semuanya dapat diatur melalui penggunaan matriks proyeksi.