Bismillaah…
Kali ini yang akan saya share adalah tentang materi perkuliahan GPU (Graphics Processing Unit) Programming (EL5130). Konten utama mata kuliah ini secara garis besar adalah implementasi teknis pemrograman OpenGL. Saya sendiri masih tergolong baru dalam pemrograman OpenGL ini. Sehingga harapannya, saya bisa lebih gamblang dalam menjelaskan segala sesuatunya dari kacamata orang yang masih awam dengan pemrograman OpenGL. Semoga bermanfaat…
OpenGL (Open Graphics Library) adalah standar API yang dapat digunakan untuk membuat aplikasi berbasis grafik, baik dua dimensi (2D) maupun tiga dimensi (3D). OpenGL ini bersifat cross-platform, artinya dapat dijalankan pada berbagai platform sistem operasi yang ada saat ini. Untuk informasi lebih lengkap mengenai hal-hal yang terkait dengan OpenGL dapat dibaca pada http://en.wikipedia.org/wiki/Opengl. Atau dapat juga dicari pada mesin pencari, contoh: google. Karena memang OpenGL sendiri telah banyak dibahas oleh kalangan praktisi, akademisi, maupun industri, yang notabene berkutat dalam implementasi pemrograman grafik 2D dan 3D.
Untuk membuat aplikasi menggunakan OpenGL, terlebih dahulu kita membutuhkan suatu konsepsi interfacing dalam implementasinya. Salah satu cara yang sudah umum digunakan adalah dengan membuat window-based OpenGL. Untuk dapat membuat konsep windowing pada OpenGL, kita memerlukan tool tertentu. Yang kita gunakan kali ini adalah GLUT (OpenGL Utility Toolkit). GLUT dipilih karena di dalamnya telah terdapat banyak fungsi yang dapat dipakai untuk pembuatan application window. Disamping itu, windowing pada GLUT juga bersifat independen terhadap sistem operasi, sehingga kita tidak perlu repot-repot untuk mengubah kode program jika diterapkan pada sistem operasi yang berbeda.
IDE yang digunakan
Kecenderungan implementasi pemrograman yang ada saat ini adalah dengan memanfaatkan IDE. Karena memang pada kenyataannya dunia pemrograman semakin lama akan semakin kompleks. Dengan banyaknya primitif-primitif atau fungsi-fungsi dasar yang telah dibungkus ke dalam berbagai struktur referensi library, maka sepertinya akan sangat menyusahkan jika kita tidak memanfaatkan IDE untuk membantu kita dalam memrogram. Secara pengertian, IDE (Integrated Development Environment) adalah suatu tool pengembangan yang di dalamnya minimal terdapat: editor kode program, compiler atau interpreter atau link ke compiler atau interpreter, builder, dan debugger. Banyak sekali IDE yang ada sekarang, beberapa contohnya adalah: Visual Studio, Codeblocks, Netbeans, Eclipse, dsb. Tapi sekarang kita tidak akan membahas lebih detail mengenai IDE.
Kembali pada pemrograman OpenGL, IDE yang saya gunakan adalah Microsoft Visual Studio 2008. Sehingga persiapan pertama yang kita butuhkan adalah pastikan bahwa Microsoft Visual Studio 2008 telah terinstal di komputer Anda, jika belum, maka berdoalah terlebih dahulu agar diberi kesabaran, lalu lakukan instalasi Microsoft Visual Studio 2008 dengan khidmat :D.
Persiapan berikutnya – copy referensi yang dibutuhkan
Untuk dapat memanfaatkan fungsi-fungsi GLUT pada pemrograman OpenGL, terlebih dahulu kita memasukkan library atau referensi yang dibutuhkan. Berikut adalah langkah-langkahnya:
- Copy glu32.dll, glut.dll, dan glut32.dll ke dalam folder C:\Windows\System32
- Copy GL.h, GLAUX.h, GLU.h, dan glut.h ke dalam folder C:\Program Files\Microsoft Visual Studio 9.0\VC\include
- Copy GLAUX.lib, GLU32.lib, dan glut32.lib ke dalam folder C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
File-file tersebut dapat diperoleh dengan melakukan download gratis di webnya GLUT (http://www.glut.org). Atau, dapat juga dicari menggunakan mesin pencari.
Membuat project baru
Berikutnya, kita akan memulai dengan membuat project baru pada Microsoft Visual Studio 2008. Secara mendasar, langkah-langkahnya adalah sebagai berikut:
- Buka aplikasi Microsoft Visual Studio 2008.
- Pilih menu File -> New -> Project. Sehingga akan terbuka jendela dialog baru seperti di bawah ini.
- Pilih Win32 Console Application dan beri nama projectnya, misal: Program01. Klik Next, kemudian pada bagian Additional Options, contreng pilihan Empty project. Tujuannya adalah agar project yang kita buat merupakan project yang kita mulai dari dasar, bukan dari template yang disediakan oleh Microsoft Visual Studio.
- Jika project sudah berhasil tercreate, maka pada Microsoft Visual Studio di bagian paling kiri akan muncul folder project yang baru kita buat. Klik kanan pada folder Source Files, lalu pilih menu Add -> New Item, pilih C++ File (.cpp), kemudian beri nama, misal: main.
- Buka file main.cpp pada editor kode program, lalu copy kode program berikut ini:
/* @Andik Taufiq * March, 13 2010 - Bandung, Indonesia */ #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdarg.h> #include <glut.h> void mydisplay() { glClear(GL_COLOR_BUFFER_BIT); // Menghapus layar glBegin(GL_POLYGON); glVertex2f(-0.5, -0.5); glVertex2f(-0.5, 0.5); glVertex2f(0.5, 0.5); glVertex2f(0.5, -0.5); glEnd(); glFlush(); } int main(int argc, char** argv) { printf("Hello World... Ini adalah Kotak 2D"); glutCreateWindow("Program01 - Andik Taufiq"); glutDisplayFunc(mydisplay); glutMainLoop(); }
Program di atas merupakan contoh pembuatan polygon dengan memanfaatkan method GL_POLYGON dan ditentukan sebanyak empat (4) buah vertex yang membentuk pola persegi (bujur sangkar).
Selamat mencoba…
Referensi
http://nehe.gamedev.net/
http://thoughtsfrommylife.com/article-748-OpenGL_and_Visual_Studio_Express_2008
cara masukin gambar atau teks gmn di openGL?
LikeLike
Untuk memasukkan gambar, terlebih dahulu kita butuh fungsi untuk melakukan load file gambar tersebut ke OpenGL-nya. Saya ada file .h dan .cpp nya untuk fungsi loader ini, dan masih spesifik terhadap file .bmp saja.
LikeLike
mas koq link glut.org nya nyasar?bener tuh linknya?
LikeLike
makasih mas atas ilmunya
LikeLike
yah tutorial bgni anak smp klas 3 skrg sudah bisa.
ga ada tutorial yang lebih ++ mas?
tntng morphng | transformasi 3D | Rendering?
LikeLike
klo untuk setting openGL nya di netbeans gmn ???
LikeLike
makasih mas tentang setting opengl di MSVC++ 2008. Smoga tambah bnyak referensi opengl.Salam kenal.
LikeLike
Wah, mantep bgt artikelnya, saya kebetulan jg baru belajar opengl, makasih ya …
š
LikeLike
Thanks gan.., š Jangan Berhenti Berbagi.
LikeLike
ur welcome gan… smg bermanfaat š
LikeLike
Rupanya ada juga yang gemar dengan Opengl
saya juga hobi dengan opengl, ini blog saya yang isinya opengl melulu
heriadyblog.blogspot.com
LikeLiked by 1 person
Wah, blognya keren… saya hanya pemula kok Pak, itupun sekarang sudah ga pernah pegang lagi… š
LikeLike
Ada tambahan ilmu sedikit dari saya tentang OpenGL, semoga bermanfaat
http://heriadyblog.blogspot.co.id/2016/01/pengantar-komputer-grafik-opengl.html
LikeLike
makasih bos…sy baru belajar ini…minta contoh yg 3D ya mas..mksh #bljrbersama
LikeLike
coba yang ini
http://heriadyblog.blogspot.co.id/2015/05/belajar-game-programming-untuk-pemula.html
LikeLike