Skip to main content

Apa itu OpenGL Pemetikan?

OpenGL Memilih dalam pemrograman komputer adalah proses menentukan objek apa dalam adegan tiga dimensi (3D) terletak pada titik tertentu di layar setelah adegan diberikan.Ini juga dapat merujuk untuk menemukan beberapa objek pada titik atau di dalam kotak.Paling sering, OpenGL Pilihan digunakan untuk menentukan objek 3D apa di layar yang coba dipilih pengguna dengan kursor mouse.Meskipun operasi ini mungkin tampak sederhana, ada beberapa seluk -beluk dalam bagaimana OpenGL Membuat adegan yang bisa membuatnya cukup rumit.Selain itu, ada gangguan intrinsik dalam kartu grafis dan driver tertentu yang dapat menyebabkan OpenGL memilih fungsi untuk gagal dan mengembalikan hasil yang salah.

Ketika pengguna melihat adegan 3D pada monitor komputer, gambar yang dihasilkan dikenal sebagai rendering adegan.Adegan ini sebenarnya disimpan dalam memori sebagai kumpulan bentuk atau poligon primitif, yang sendiri hanyalah koleksi poin 3D dalam ruang adegan.Komputer menggunakan koordinat dunia, yang kadang -kadang disebut koordinat absolut, untuk melakukan sebagian besar fungsi dasar yang memanipulasi objek dalam adegan.Dalam sebagian besar aplikasi, pengguna dapat melakukan manuver pandangan adegan ke sudut yang berbeda sehingga objek dapat dilihat dalam perspektif yang berbeda.Lokasi virtual pengguna dalam adegan disebut sudut kamera atau posisi kamera.

Kompleksitas OpenGL Memetik berasal dari menentukan lokasi mouse pada layar dua dimensi (2D) dari posisi dan sudut yang mungkin sewenang-wenang dalam adegan, posisi kamera.Selain itu, karena rendering dari perspektif pemirsa manusia benar -benar 2D, tidak ada cara bagi pengguna untuk memberikan kedalaman klik mouse di dalam adegan.OpenGL Memilih fungsi memecahkan masalah kompleks ini dalam dua cara.

Yang pertama adalah bahwa, alih -alih melakukan serangkaian perhitungan terpisah untuk menerjemahkan di mana penampil secara abstrak dan kemudian menemukan objek di jendela rendering, fungsi tersebut sebenarnya membuat adegan sebagainyamelakukan ketika biasanya bekerja, dengan pengecualian bahwa rendering yang digunakan untuk seleksi tidak ditampilkan, itu hanya digunakan untuk menghitung posisi objek yang benar.Perbedaannya adalah bahwa, alih -alih membuat seluruh area yang akan terlihat oleh pengguna, itu hanya membuat area tempat mouse berada.Ini berarti setiap objek yang diberikan secara teknis pada titik di mana penunjuk mouse berada.

Masalah kedua, yaitu tidak memiliki cara untuk menunjukkan kedalaman area yang dipilih, diselesaikan dengan mengembalikan semua objek yang berada di bawah koordinat mouse di dalampemandangan.OpenGL Pilihan fungsi mengembalikan semua objek dalam array bersama dengan seberapa jauh mereka dari lokasi pemirsa.Ini memungkinkan program untuk dengan cepat menemukan objek terdekat jika diinginkan.

Salah satu cara untuk memvisualisasikan OpenGL Memilih adalah membayangkan sebuah garis, kadang -kadang disebut sebagai sinar dalam pemrograman 3D, bergerak dari lokasi penunjuk mouse ke tempat kejadian dan jauh dari lokasi pemirsa.Setiap objek yang disentuh sinar ini ditambahkan ke array objek, bersama dengan seberapa jauh dari pemirsa.Ini adalah penjelasan yang sangat sederhana tentang bagaimana satu bentuk OpenGL memilih karya.

Metode pengambilan objek lain di OpenGL Melibatkan menemukan objek berdasarkan warna, dan itu bisa jauh lebih cepat.Metode ini membuat adegan tetapi, alih -alih menerapkan pencahayaan dan tekstur pada objek, mereka malah diterjemahkan dengan warna tunggal, sederhana.Setiap objek atau kelompok objek memiliki warna yang berbeda.Adegan hanya diterjemahkan dalam memori dan tidak ditampilkan, jadi ini tidak memengaruhi apa yang dilihat pengguna.Alih -alih mencari tabrakan 3D di antara objek, warna pada posisi kursor mouse dikembalikan sebagai gantinya, dan warna itu akan berkorelasi dengan objek tertentu.