Apa Itu OpenGL® Quad?

Segi empat OpenGL®, atau quad, dalam pemrograman komputer dan grafik adalah bentuk tiga dimensi (3D), juga disebut poligon, yang memiliki empat sisi dan empat titik. Setiap titik 3D yang mewakili satu sudut dari segi empat OpenGL® dikenal sebagai simpul dan didefinisikan dengan tiga angka yang berkaitan dengan posisi koordinatnya dalam ruang virtual. Simpul dari suatu segi empat tidak harus mengikuti pedoman nyata apa pun, kecuali bahwa harus ada empat di antaranya; jika tidak, bentuknya dikenal sebagai poligon, segitiga atau garis tergantung pada jumlah sebenarnya. Sebagian besar gambar digital sebenarnya berbentuk persegi panjang, sehingga OpenGL® quad dapat menjadi bentuk yang berguna karena gambar dapat dipetakan teksturnya ke permukaan tanpa banyak distorsi dan tanpa memerlukan teknik pemetaan tekstur yang rumit. Namun, penggunaan quad OpenGL® memiliki tantangannya sendiri, dan ada sejumlah programmer yang menyarankan untuk menghindari penggunaannya sepenuhnya.

Salah satu kegunaan utama OpenGL® quad adalah menggambar grafik dua dimensi (2D) dalam lingkungan 3D. Ini dapat dilakukan untuk memiliki antarmuka pengguna statis yang dihamparkan di atas adegan 3D atau untuk meniru grafik 2D dengan OpenGL®. Meskipun OpenGL® dirancang untuk merender grafik 3D yang kompleks, OpenGL sering digunakan dalam aplikasi grafik 2D karena pengoptimalan dan fleksibilitas antarmuka pemrograman abstrak (API). Quad menjadi sangat penting dalam rendering grafik 2D, karena merupakan representasi 3D alami dari gambar digital, artinya quad dapat diproporsikan agar sesuai dengan dimensi gambar. Setelah proporsi cocok, gambar dapat dipetakan tekstur, atau diproyeksikan, ke permukaan quad tanpa jenis distorsi, pembungkus, atau ruang talang apa pun.

Keuntungan menggunakan quad OpenGL®, menurut beberapa programmer, adalah lebih mudah untuk memikirkan bagaimana quads cocok bersama, dibandingkan dengan memvisualisasikan bagaimana segitiga cocok bersama. Hal ini terutama berlaku untuk bentuk 3D sederhana seperti kubus di mana setiap segi empat adalah satu sisi; dengan jaring segitiga, dua segitiga harus digabungkan untuk membuat segi empat yang membuat satu sisi. Quads juga dapat dengan mudah dimanipulasi untuk menciptakan perspektif atau efek lain dalam lingkungan yang baik ubin atau selaras dengan grid.

Ada beberapa kelemahan menggunakan OpenGL® quad, sebagian besar karena algoritme yang digunakan untuk rasterisasi atau render gambar di dalam jendela penampil. Salah satu masalah yang paling sering ditemui adalah bahwa rendering atau kartu grafis mungkin, pada titik mana pun, memecah quad menjadi dua segitiga untuk tujuan efisiensi. Hal ini dapat menyebabkan permukaan yang sebelumnya halus tiba-tiba memiliki distorsi yang terlihat pada sudut melalui segi empat tempat ujung-ujung segitiga bertemu.

Masalah lain yang lebih umum daripada yang kadang-kadang dipikirkan berkaitan dengan pemotongan quad OpenGL®. Ketika bagian dari quad berada di luar jendela tampilan, di luar layar, penyaji akan memotong quad sehingga hanya bagian yang terlihat yang ditampilkan. Ini berarti sebuah segi empat akan dipotong secara geometris. Jika segi empat diubah menjadi dua segitiga sebelum terjadi pemotongan, maka setiap segitiga menjadi segi empat, dan masing-masing segi empat tersebut diubah menjadi dua segitiga. Hal ini menyebabkan situasi di mana quad terpotong tiba-tiba terdiri dari empat segitiga, bukan satu quad halus.

Kompleksitas dan ketidakpastian konversi quads menjadi segitiga mengarah ke hasil yang tidak diinginkan. Ini termasuk distorsi dalam tekstur, ketidakakuratan atau artefak yang terkait dengan pencahayaan vertex, dan terkadang permukaan poligon yang hilang. Untuk alasan ini, beberapa programmer menghindari penggunaan quads sama sekali.