WHAT'S NEW?
Loading...

OpenGL dan GLUT


SEJARAH OPENGL

Pada tahun 1982,seorang profesor dari Stanford University yang bernama Jim Clark memulai membuka perusahaan komputer grafis yang pertama yaitu Silicon Graphics Computer System, yang kemudian dikenal dengan nama SGI. Para teknisi SGI membutuhkan cara yang standar spesifikas untuk pengoperasian dan transformasi 3D, oleh sebab itu mereka mendesain sebuah aplikasi pemrograman antarmuka (API) yang bernama IrisGL.  IrisGL ini hanya dapat digunakan pada hardware keluaran dari SGS (tidak bersifat open-standard). Pada saat yang bersamaan, vendor lain termasuk Sun Microsystem, IBM dan Hewlett-Packard juga mengeluarkan produk 3D hardware di pasaran. Mereka menggunakan jenis API lain yang disebut PHIGS. Karena vendor lain juga meluncurkan produk 3D hardware di pasaran, lingkup pemasaran SGI pun menjadi berkurang.
Untuk kembali mendongkrak penjualan produk mereka ke pasaran, akhirnya SGI mengubah IrisGL menjadi open-standard. Namun akrena alasan lisensi dan hak paten, mereka tidak dapat meluncurkan IrisGL versi open-standard. Akhirnya mereka membuat API baru berbasis IrisGL yang diberi nama OpenGL.  (https://anggaradian.wordpress.com/2013/04/28/sejarah-dan-pengenalan-opengl/)

OpenGL adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk
keperluan-keperluan pemrograman grfis.OpenGL bersifat Open-Source, multi-platform dan multi-language serta digunakan mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi. OpenGL juga merupakan suatu antarmuka pemrograman aplikasi (application programming interface (API) yang tidak tergantung pada piranti dan platform yang digunakan, sehingga OpenGL dapat berjalan pada sistem operasi Windows, UNIX dan sistem operasi lainnya.



OpenGL pada awalnya didesain untuk digunakan pada bahasa pemrograman C/C++, namun dalam perkembangannya OpenGL dapat juga digunakan dalam bahasa pemrograman yang lain seperti Java, Tcl, Ada, Visual Basic, Delphi, maupun Fortran. Namun OpenGL di-package secara berbeda-beda sesuai dengan bahasa pemrograman
yang digunakan. Oleh karena itu, package OpenGL tersebut dapat di-download pada situs http://www.opengl.org sesuai dengan bahasa pemrograman yang akan digunakan.



OpenGl melayani dua tujuan :
Untuk menyembunyikan kompleksitas dari interfacing dengan berbagai 3D accelerators, memamerkan oleh programmer dengan satu, seragam API.

Untuk menyembunyikan kemampuan yang berbeda dari hardware platform, oleh semua yang memerlukan mendukung implementasi penuh fitur opengl set (menggunakan software emulation jika diperlukan).


EVOLUSI OPENGL
Pendahulu openGL adalah IRIS GL dari Silicon Grapics.Padamulanya adalah library grafis 2D,yang berefolusi menjasi API program 3D untuk workstation canggih milik perusahaan tersebut. OpenGL adalah hasil dari usaha SGI untuk mengembangkan dan meningkatkan kemampuan portable IRIS. API grafis yang baru akan menawarkan kemampuan IRIS GL tetapi dengan standar yang lebih terbuka, dengan input dari pembuatan hardware lain dan sistem operasi lain, dan akan memudahkan adaptasi ke hardware platform dan sistem operasi lain. Untuk lebih mempopulerkan openGL SGI mengijinkan pihak lain untuk mengembangkan standart openGL,dan beberapa vendor menyambut hal tersebut dengan
membentuk OpenGL Architecture Review Board (ARB) Pendiri openGL adalah SGI,Digital Equepment Corporation,IBM,Intel dan Microsoft,pada tanggal 1 juli 1992 OpenGL versi 1.0
diperkenalkan. Letak openGL dalam aplikasi gambar di atas pada umumnya ketika aplikasi berjalan program tersebut memanggil banyak fungsi,beberapa yang dibuat oleh programer dan beberapa yang disediakan oleh sistem operasi bahasa pemrograman.Aplikasi windows membuat output pada layar biasanya dengan memanggil sebual API windows yang disebut Graphics Devise Interfase,yang memungkinkan sebagai penulisan teks pada sebuah windows,menggambar garis 2D sederhana dan lainnya.Implementasi dari openGL mengambil permintaan grafis dari aplikasi dan membangun sebuah gambar berwarna dari grafis 3D,kemudian memberikan gambar tersebut ke GDI untuk ditampilkan pada layar monitor.



GLUT (GL Utility Toolkit)
Merupakan pengembangan dari OpenGL yang didesain untuk aplikasi dengan level kecil hingga menengah dan menggunakan callback functions untuk menambahkan interaksi dari user.



Untuk pemrograman OpenGL menggunakan C++, diperlukan library tambahan yaitu :
1. glut.h yang dicopy ke drive:\Program Files\Microsoft Visual Studio 2010\Vc\include\GL
2. glut32.lib yang dicopy ke drive:\Program Files\Microsoft Visual Studio 2010\Vc\
3. libglut32.dll yang dicopy ke drive:\Windows\System



Klasifikasi Fungsi
Primitive : berupa geometric, imagesAttribute : berupa color, line type, light, texture
Viewing : berupa virtual cameraControl : turn fuction ON / OFF
Windowing : window, mouse, keyboard



CARA KERJA OPENGL
OpenGL lebih mengarah pada prosedural daripada sebuah deskriptif API grafis.Untuk mendeskripsikan scene dan bagaimana penampilannya,sebenarnya programer lebih tahu untuk menentukan hal-hal yang dibutuhkan untuk menghasilkan efek yang di inginkan. Langkah tersebut termasuk memanggil banyak perintah openGL, perintah tersebut digunakan untuk menggambarkan grafis primitif seperti titik,garis dan poligon dalam tiga dimensi.Sebagai tambahan,openGL mendukung lighting, shading, texture mapping, blending, transparancy, dan banyak kemampuan efek khusus lainnya.



OpenGL mempunyai bnayak fungsi dan penggunaan perintah yang sangat luas, penggunaan openGL membutuhkan library tambahan yang harus di letakkan pada
direktory system dari windows (OS), yaitu OpenGL32.dll, Glu32.dll, Glut32.dll



Inisialisasi awal
Inti dari tahapan ini adalah mengatur view port dan persepektif untuk penampilan obyek ke dalam layar monitor, viewport adalah besarnya layar monitor(image) yang dipakai untuk menampilkanobyek, sedangkan persepektif yang dimaksud adalah pengaturan sumbu z dalam penampilan obyek 3 dimensi,sehingga user dapat melihat obyek seolah-olah dalam bidang 3 dimensi (X-Y-Z), selain itu penggambaran obyek yang dilakukan oleh programer juga dapat menggunaan koordinat 3 dimensi. Selain ke dua tujuan di atas pada tahap ini juga dilakukan koneksi awal dengan library openGL, koneksi ini dilakukan supaya fungsi-fungsi yang di sediakan openGL dapat digunakan. Fungsi/prosedur yang digunakan :
 LoadGlut(‘glut32.dll) - pemanggilan library openGL
 InitGL – inisialisasi openGL awal yang harus dilakukan
 glViewport – untuk pengaturan viewport
 glMatrixMode – pengaturan viewport
 gluPerspective – pengaturan persepektif

0 komentar:

Posting Komentar