Apa itu OpenGL® 2D?

Open Graphics Library® (OpenGL®) pada dasarnya adalah antarmuka pemrograman yang memungkinkan aplikasi perangkat lunak berinteraksi dengan perangkat keras grafis dan membuat adegan tiga dimensi (3D) dengan cepat dan efisien. Menggunakan teknik pemrograman OpenGL® dua dimensi (2D), akselerasi perangkat keras yang disediakan oleh perpustakaan dapat meningkatkan kinerja dan, terkadang, kemudahan perangkat lunak pemrograman yang tidak harus menggunakan model atau transformasi 3D. Metode paling umum menggunakan 2D OpenGL® adalah menggambar segi empat, atau persegi panjang, yang bertekstur dengan gambar, secara efektif membuat objek dalam ruang 3D dari gambar. Setelah terbentuk, segi empat ini dapat dimanipulasi, baik dengan metode 2D yang ketat atau dengan ditransformasikan dengan matriks 3D untuk efek khusus yang jika tidak akan sulit dilakukan hanya dengan grafik raster 2D. Ada beberapa komplikasi yang ditimbulkan oleh perpustakaan 3D ketika menggunakannya hanya untuk grafik 2D, termasuk presisi tinggi yang dapat membuatnya rumit untuk mengisolasi lokasi piksel tunggal, serta menuntut beberapa dukungan perangkat keras 3D untuk program yang mungkin tidak benar-benar memerlukannya. dia.

Banyak pengembang perangkat keras dan perangkat lunak menyediakan driver dan antarmuka pemrograman abstrak khusus (API) yang membuat produk khusus mereka sepenuhnya kompatibel dengan perpustakaan OpenGL®. Penerimaan luas dari standar terbuka ini memberikan programmer cara untuk langsung mengakses perangkat keras pada berbagai macam sistem. Akselerasi perangkat keras yang diberikan saat menggunakan 2D OpenGL® memungkinkan program berjalan lebih lancar daripada yang mungkin dilakukan. Kecepatan ini diimbangi oleh fakta bahwa menggunakan pipa OpenGL® untuk grafik bisa sangat berbeda dari menggunakan metode pemrograman 2D tradisional yang umumnya tidak menggunakan model mesin negara seperti OpenGL®.

Sebagian besar program OpenGL® 2D menggunakan persegi panjang datar yang dibuat dalam proporsi yang sama seperti gambar tekstur untuk menggambarkan grafik. Ini memiliki keuntungan karena sangat cepat untuk dirender, serta menyederhanakan pemrograman sehingga menggunakan beberapa logika yang sama dengan grafik buffer berbasis raster. Beberapa efek, seperti menskalakan gambar, memutar gambar, atau membalikkan gambar, sebenarnya dapat dilakukan dengan lebih efisien menggunakan OpenGL®.

Ada faktor tertentu yang dapat menyebabkan program 2D ​​OpenGL® menjadi lebih kompleks daripada program 2D ​​lainnya biasanya. Salah satu faktor ini adalah ketepatan piksel pada tampilan. OpenGL® tidak menyamakan satu bagian dari sistem koordinat virtual dengan satu piksel pada layar, seperti grafik raster, sehingga angka floating point terkadang perlu digunakan untuk koordinat layar untuk mencegah kesenjangan pada tampilan atau penempatan piksel yang aneh.

Masalah lainnya adalah bahwa OpenGL® memerlukan penggunaan kartu grafis untuk meningkatkan kecepatan render. Jika aplikasi menggunakan OpenGL® untuk tampilan antarmuka atau jendela sistem, maka perangkat yang tidak memiliki akselerasi grafis dapat mengalami penurunan kinerja grafis yang mungkin tampak sangat mendasar bagi pengguna akhir. OpenGL juga tidak menyediakan dukungan asli apa pun untuk menampilkan teks, yang berarti bahwa menampilkan area teks yang luas dapat memerlukan cukup banyak kode kustom.