Jumat, 20 September 2013

Tentang OpenGL

Sejarah dan Informasi Umum
OpenGL adalah API yang dikenalkan oleh SGI (Silicon Graphics Inc) kali pertama pada tahun 1980-an. Awalnya OpenGL diciptakan untuk mendukung proses rendering yang hanya mendukung proses rendering untuk komputer graphic produksi SGI. Namun akhirnya, OpenGL dijadikan standar oleh berbagai perusahaan software dan hardware. API singkatan dari Application Program Interface. API adalah interface yang digunakan oleh aplikasi-aplikasi 3D (tiga dimensi) [1].

OpenGL adalah suatu library grafis standar yang digunakan untuk keperluan-keperluan pemrograman grafis. Sebenarnya ada banyak library pemrograman grafis disini selain openGL, misalnya DirectX. OpenGL ini bersifat Open-Source, multi-platform dan multi-languange. Selain itu openGL mendukung semua bahasa pemrograman dan dapat bekerja di lingkungan Windows, Unix, SGI, Linux, freeBSD, dll. Library dasar dari openGL adalah GLUT [2]. GLUT disini ialah fasilitas library yang dapat dikembangkan. Untuk sistem operasi Windows, library ini terdiri dari 3 file, yaitu :
- glut.h
- glut32.lib
- glut32.dll


OpenGL menghilangkan kebutuhan untuk pemrogram untuk menulis ulang bagian grafis dari sistem operasi setiap kali sebuah bisnis akan diupgrade ke versi baru dari sistem. Fungsi dasar dari OpenGL adalah untuk mengeluarkan koleksi perintah khusus atau executable ke sistem operasi. Dengan demikian, program ini bekerja dengan perangkat keras grafis yang ada yang berada pada hard drive atau sumber day tertentu lainnya. Setiap perintah dirancang untuk melakukan tindakan tertentu, atau memulai efek khusus tertentu yang terkait dengan grafis.

Membuat perintah dalam OpenGL dapat terjadi dalam dua cara yang berbeda. Pertama, adalah mungkin bagi programmer untuk membuat dan menyimpan daftar perintah yang dapat dieksekusi secara berulang. Ini adalah salah satu cara yang lebih rutin untuk program interface yang digunakan. Seiring dengan berkembangnya perintah-perintah yang kurang lebih permanen, maka memungkinkan untuk membuat dan menjalankan salah satu perintah dalam batas-batas waktu dari komputer grafis. Seiring dengan kemampuan interface dari sistem operasi, OpenGL juga menyediakan beberapa built-in protokol yang mungkin berguna bagi pengguna akhir. Di antaranya fitur alat seperti alpha blending, pemetaan tekstur, dan efek atmosfer. Alat ini dapat berinteraksi dengan sistem operasi yang sedang digunakan.

Tutorial Singkat
Hello World pada OpenGL: Old Style
             Contoh sederhana di bawah ini adalah hasil dari penggunaan OpenGL pre-3.1: yaitu dengan menggambar sebuah persegi panjang putih pada background hitam menggunakan nilai default untuk kebanyakan variabel [3].


Topik Tambahan
Explorasi Perangkat Mobile vs.  Performa Desktop OpenGL[3]
Perkembangan platform mobile telah membuka pasar baru bagi aplikasi 3D dan games, dimana OpenGL adalah bahasa ibu untuk grafika komputer di dunia. Bagaimanapun platform mobile dan GPU memiliki performa dan karakter yang mungkin tidak familiar dengan para developer dekstop PC.  Para Developer yang melakukan transisi dari dekstop ke mobile perlu berhati-hati dan harus mempertimbangkan batasan dan kemampuan dari perangkat mobile untuk mengoptimalkan resource yang ada pada hardware mobile.OpenGL ES sebagai salah satu API berbasis OpenGL adalah sebuah komponen fundamental pada perangkat mobile modern untuk rendering dan komposisi UI dan memberikan pasar yang besar dan efek positif yang potensial untuk para developer OpenGL.

Dilain pihak ada problem nyata, terdorong secara eksplisit permintaan konsumen untuk baterai yang tahan lama dan perangkat yang ramping, nyaman digenggam dan lebar, dengan tampilan yang brilian dengan rendering yang lembut. Performa dari perangkat mobile haruslah dominan yang harus dipertimbangkan selama proses pengembangan perangkat. Banyaknya perangkat mobile di pasaran, yang berbeda-beda waktu rilisnya, resolusi, dan kemampuan perangkat tersebut,  membuat topik ini semakin sulit dicari jalan keluarnya. Permasalahan signifikan diantara performa mobile dengan dekstop GPUs akan terus berlanjut menjadi sebuah domain pertimbangan pada pengembangan aplikasi. Pertanyaan tentang kemajuan pengembangan semikonduktor dan peningkatan arsitekturalnya mengakibatkan ketidak-relevanan pada penyelesaian masalah ini.

Melihat roadmap proyek dari vendor mobile GPU, kebutuhan sumber daya listrik dari mobile GPUs menunjukkan kenaikan beberapa tahun ke depan. Batasan lain, meliputi bandwidth dan konsumsi sumber daya listrik, adalah lebih mendasar dan tidak dapat diselesaikan dengan mudah mengingat semakin membludaknya kebutuhan listrik manusia. Dilain pihak, sistem dari PC Desktop dan bahkan laptop  saat ini sedikit lebih rapat dimensinya dibandingkan dengan perangkat mobile modern. Kinerja yang diharapkan dari perangkat mobile selalu berubah. Games jadul berbasis sprite dan game 2D masih memiliki tempat yang penting. Tapi beberapa publisher telah memproduksi port-port mobile yang menerapkan mesin game dekstop, game konsol  atau level dekstop dari game-game mahal dengan kualitas visual yang tinggi. Game-game ini menaikkan persaingan sistem mobile terutama pada unsur geometri, assets, dan efek visual.


Daftar Pustaka
   3. Cozzi, Patrick., Riccio, Christophe and Friends. 2012. OpenGL Insights. New York: Taylor & Francis Group


Tidak ada komentar:

Posting Komentar