OpenGL (Open Graphics Library) adalah spesifikasi standar yang
mendefinisikan sebuah cross-bahasa, cross-platform API untuk menulis aplikasi
yang menghasilkan komputer 2D dan 3D grafis. Antarmuka terdiri dari lebih dari
250 panggilan fungsi yang berbeda yang dapat digunakan untuk menggambar tiga
dimensi yang kompleks adegan-adegan dari primitif sederhana. OpenGL
dikembangkan oleh Silicon Graphics Inc (SGI) pada tahun 1992 [2] dan secara
luas digunakan dalam CAD, virtual reality, visualisasi ilmiah, visualisasi
informasi, dan simulasi penerbangan. Hal ini juga digunakan dalam video game,
di mana bersaing dengan Direct3D on Microsoft Windows platform (lihat vs OpenGL
Direct3D). OpenGL dikelola oleh sebuah teknologi nirlaba konsorsium, yang
Khronos Group.
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 .
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:
01
/* @Andik Taufiq
02
* March, 13 2010 - Bandung,
Indonesia
03
*/
04
05
#include <windows.h>
06
#include <stdio.h>
07
#include <stdlib.h>
08
#include <string.h>
09
#include <stdarg.h>
10
#include <glut.h>
11
12
void mydisplay()
13
{
14
glClear(GL_COLOR_BUFFER_BIT); // Menghapus layar
15
glBegin(GL_POLYGON);
16
glVertex2f(-0.5, -0.5);
17
glVertex2f(-0.5, 0.5);
18
glVertex2f(0.5, 0.5);
19
glVertex2f(0.5, -0.5);
20
glEnd();
21
glFlush();
22
}
23
24
int main(int argc, char** argv)
25
{
26
printf("Hello World...
Ini adalah Kotak 2D");
27
glutCreateWindow("Program01 - Andik Taufiq");
28
glutDisplayFunc(mydisplay);
29
glutMainLoop();
30
}
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).
Berikut ini adalah tutorial untuk memrogram dengan menggunakan
OpenGL dan Dev-C++. Dalam tutorial ini akan dijelaskan langkah-langkah awal
untuk menghasilkan gambar sederhana dengan Dev-Cpp sebagai IDE-nya.
Pertama-tama, yang pasti, install Dev-Cpp dulu.
Lalu, download package GLUT di link ini. Akan ada link di tabel download. Setelah di-klik, maka kita bisa men-save package di harddisk komputer.
Pertama-tama, yang pasti, install Dev-Cpp dulu.
Lalu, download package GLUT di link ini. Akan ada link di tabel download. Setelah di-klik, maka kita bisa men-save package di harddisk komputer.
Setelah package tersedia, buka Dev-C++ dan klik menu Tools - Package Manager
Lalu klik tombol Install yang berada di pojok kiri atas. Akan muncul window yang meminta file instalasi yang diinginkan. Pilihlah file Glut yang baru saja di-download tadi.
Lalu klik Open.
Setelah itu, akan muncul installation window. Tinggal klik Install dan tunggu hingga instalasi selesai. Lalu, klik Finish.
Package yang baru saja di-install akan muncul di window Package Manager dengan nama glut.
Sampai saat ini, proses instalasi Package Glut telah selesai. Saatnya ngoding :D
Buat Project baru dengan cara klik menu File - New - Project.
Pilih project "Empty Project" dan beri nama pada kolom Name. Setelah itu klik OK. Lalu klik Save di tempat yang kamu inginkan.
Project baru telah terbentuk, tetapi belum memiliki file. Oleh karena itu, klik kanan pada Project dan pilih New File.
Akan muncul editor baru yang bernama default Untitled1. Di sinilah kita akan ngoding.
Misalkan saja kita ingin membuat segitiga Maxwell, maka tulis kodenya sebagai berikut.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include
<GL/glut.h>
#include
<math.h>
void
display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(0.0,
0.0, 1.0); /* blue */
glVertex2d(-1,
-(1*sqrt(3))/2);
glColor3f(0.0,
1.0, 0.0); /* green */
glVertex2d(1,
-(1*sqrt(3))/2);
glColor3f(1.0,
0.0, 0.0); /* red */
glVertex2d(0,
(1*sqrt(3))/2);
glEnd();
glFlush();
/* Single buffered, so needs a flush. */
}
int
main(int argc,
char **argv)
{
glutInit(&argc,
argv);
glutCreateWindow("single
triangle");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
|
Lalu, klik File - Save As untuk menyimpan kode di atas. Misalkan beri nama main.cpp.
Sebelum di-Compile, kita perlu menambahkan sesuatu. Klik menu Project - Project Options.
Akan muncul windows Project Options. Klik tab Parameter dan akan muncul 3 field untuk diisi. Isilah field Linker dengan tulisan berikut:
-lglut32
-lglu32 -lopengl32 -lwinmm -lgdi32
Lalu klik OK.
Nah, sekarang compile dan run programnya dengan menekan tombol F9 untuk Dev-C++. Tada!
Ini
adalah postingan kilat setelah pertama kali belajar OpenGL, oleh karena itu,
penjelasannya masih kurang. Mungkin suatu saat akan saya edit.
Tidak ada komentar:
Posting Komentar