Apa Itu Garis OpenGL®?

Di Open Graphics Library® (OpenGL®), garis adalah salah satu bentuk primitif dasar yang dapat digambar OpenGL®, dan garis merupakan salah satu blok penyusun yang terkadang digunakan untuk merender segitiga. Garis OpenGL® hanyalah grafik lurus yang menghubungkan antara dua simpul. Meskipun konsep dan eksekusi garis OpenGL® bisa sederhana, mereka cenderung membutuhkan waktu lebih lama untuk dirender daripada primitif lainnya dalam beberapa implementasi, sebagian karena tidak ada spesifikasi tentang perilaku mereka dalam standar OpenGL®. Menggunakan garis OpenGL® secara eksplisit terkadang dapat memberikan hasil yang tidak diharapkan, karena garis dirasterisasi dengan cara tertentu yang mungkin membuatnya tampak terpisah dari geometri lain dalam adegan atau tampak sedikit menyimpang dari yang diharapkan. Selain garis dasar, garis OpenGL® juga dapat dibentuk menjadi strip dan loop garis, seperti strip segitiga, dengan akhir setiap baris menjadi awal dari yang berikutnya.

Saat digunakan dalam adegan, garis OpenGL® adalah jenis bentuk primitif yang terdiri dari dua simpul, atau koordinat dalam ruang tiga dimensi (3D), yang dihubungkan oleh jalur lurus yang terlihat. Tidak seperti primitif lainnya, seperti segitiga, garis umumnya tidak memiliki permukaan, meskipun masih dapat diwarnai dengan pencampuran dan pewarnaan titik. Garis sering digunakan dalam visualisasi 3D matematis dan ilmiah, serta untuk indikator tampilan dua dimensi (2D) — seperti garis bidik atau panah yang menunjuk ke area tampilan — untuk pemirsa.

Lebar garis dapat ditentukan sampai batas tertentu melalui OpenGL®. Jumlah lebar piksel yang harus ada pada garis pada titik tertentu dapat ditentukan, meskipun tidak ada standar nyata tentang bagaimana ini harus beroperasi dari satu platform ke platform lainnya. Dalam beberapa situasi, lebar tidak dapat diubah sama sekali sementara, dalam kasus lain, lebar garis OpenGL® dibatasi ke angka yang tampaknya berubah-ubah.

Selain garis dasar, beberapa garis OpenGL® dapat digabungkan untuk membentuk dua struktur lain yang dikenal sebagai strip garis dan loop garis. Strip garis hanyalah urutan simpul di mana awal setiap baris baru adalah titik akhir dari baris terakhir. Ini sebagian besar merupakan fungsi kenyamanan tetapi dapat merender lebih cepat daripada menggunakan baris individual. Sebuah loop garis hampir identik dengan strip garis, kecuali bahwa simpul terakhir dalam loop kemudian dihubungkan kembali ke simpul pertama yang ditentukan.

Salah satu komplikasi saat menggunakan garis OpenGL® adalah, karena lebarnya hanya 1 piksel secara default, garis tersebut terkadang tidak dirender dengan cara yang benar. Dalam kasus tertentu, terutama jika garis anti-alias, piksel tertentu dalam gambar raster mungkin tidak ditampilkan. Garis itu sendiri juga mungkin muncul beberapa piksel dari tempat yang diharapkan. Hal ini sebagian besar disebabkan oleh variasi menit dalam matematika floating point yang digunakan OpenGL®; itu tidak selalu merupakan masalah yang dapat dengan mudah diselesaikan tanpa mengubah garis menjadi poligon untuk tujuan rendering.