Memulai Belajar Pemrograman OpenGL


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();
    }
    
  • Lakukan pengubahan properti program dengan memilih menu: Project -> Properties, atau tekan tombol Alt+F7. Pada Configuration Properties -> General -> Character Set pilih “Not Set”. Pada Configuration Properties -> Linker -> Input -> Additional Dependencies masukkan library-library yang dibutuhkan. Ketikkan: opengl32.lib glu32.lib glaux.lib odbc32.lib odbccp32.lib. Pada Configuration Properties -> C/C++ -> DIsable Spesific Warnings ketik 4996.
  • Lakukan kompilasi dan jalankan program dengan menekan tombol F5. Jika Anda beruntung, maka akan keluar jendela aplikasi seperti tampak pada gambar di bawah ini.

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

15 thoughts on “Memulai Belajar Pemrograman OpenGL

    1. 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.

      Like

  1. yah tutorial bgni anak smp klas 3 skrg sudah bisa.
    ga ada tutorial yang lebih ++ mas?

    tntng morphng | transformasi 3D | Rendering?

    Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.