OpenGL adalah salah satu API (Application Programming Interface) grafis yang banyak digunakan untuk membuat aplikasi grafis seperti game, animasi, dan visualisasi data. Pada tutorial ini, kita akan belajar cara membuat aplikasi OpenGL menggunakan C++ dan GLUT (OpenGL Utility Toolkit) untuk menggambar sebuah poligon pada jendela aplikasi di Windows.
1. Persiapan
Sebelum memulai, pastikan Anda sudah menginstal OpenGL dan GLUT pada sistem Anda. Anda juga perlu memastikan bahwa Anda memiliki compiler C++ seperti MinGW atau Visual Studio untuk menyusun program OpenGL.
2. Membuat Program OpenGL
Berikut adalah penjelasan kode dari program OpenGL untuk menggambar poligon:
#include <windows.h>
#include <gl/glut.h> // Menyertakan header GLUT
// Fungsi untuk menggambar objek
void Display() {
glClear(GL_COLOR_BUFFER_BIT); // Membersihkan layar
glBegin(GL_POLYGON); // Memulai menggambar poligon
glColor3f(1, 0, 0); // Mengatur warna poligon (merah)
// Menentukan titik-titik vertice poligon
glVertex2f(380, 140);
glVertex2f(278, 74);
glVertex2f(265, 113);
glVertex2f(105, 150);
glVertex2f(125, 179);
glVertex2f(60, 244);
glVertex2f(140, 269);
glVertex2f(133, 305);
glVertex2f(245, 279);
glVertex2f(140, 395);
glVertex2f(188, 400);
glVertex2f(190, 500);
glVertex2f(275, 443);
glVertex2f(308, 481);
glVertex2f(360, 350);
glVertex2f(390, 438);
glVertex2f(420, 410);
glVertex2f(469, 456);
glVertex2f(503, 374);
glVertex2f(540, 375);
glVertex2f(480, 245);
glVertex2f(510, 195);
glVertex2f(398, 145);
glVertex2f(438, 70);
glVertex2f(425, 60);
glEnd(); // Selesai menggambar poligon
glFlush(); // Menampilkan gambar yang sudah digambar
}
// Fungsi untuk merubah ukuran jendela
void reshape(int w, int h) {
glViewport(0, 0, (GLsizei)w, (GLsizei)h); // Menentukan ukuran viewport
glMatrixMode(GL_PROJECTION); // Menggunakan mode proyeksi
glLoadIdentity(); // Menghapus matriks proyeksi sebelumnya
gluOrtho2D(0, 600, 0, 550); // Menentukan sistem koordinat 2D
}
// Inisialisasi OpenGL
void init() {
glClearColor(1, 1, 1, 0); // Menentukan warna latar belakang (putih)
}
int main(int args, char* argv[]) {
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // Menentukan mode display
glutInitWindowSize(600, 550); // Ukuran jendela aplikasi
glutCreateWindow("Windows OpenGL Pertama Saya"); // Membuat jendela aplikasi
init(); // Memanggil fungsi inisialisasi
glutDisplayFunc(Display); // Fungsi untuk menggambar objek
glutReshapeFunc(reshape); // Fungsi untuk merubah ukuran jendela
glutMainLoop(); // Memulai proses utama GLUT
return 0;
}
3. Penjelasan Kode
Berikut adalah penjelasan bagian-bagian utama dari kode di atas:
-
Header File:
#include<windows.h> #include<gl/glut.h>
Kode ini menyertakan header file yang diperlukan untuk menggunakan OpenGL dan GLUT.
windows.h
untuk kompatibilitas dengan sistem operasi Windows, danglut.h
untuk fungsi GLUT. -
Fungsi Display:
void Display() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glColor3f(1, 0, 0); ... }
Fungsi ini menggambar poligon. Dimulai dengan membersihkan buffer warna, kemudian menggunakan
glBegin(GL_POLYGON)
untuk memulai menggambar sebuah poligon. Setiap titik pada poligon ditentukan menggunakanglVertex2f(x, y)
. -
Fungsi Reshape:
void reshape(int w, int h) { glViewport(0, 0, (GLsizei)w, (GLsizei)h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0, 600, 0, 550); }
Fungsi ini digunakan untuk mengubah ukuran viewport OpenGL saat ukuran jendela aplikasi berubah.
gluOrtho2D
digunakan untuk mendefinisikan proyeksi ortogonal 2D. -
Inisialisasi OpenGL:
void init() { glClearColor(1, 1, 1, 0); }
Fungsi ini menginisialisasi warna latar belakang menjadi putih menggunakan
glClearColor
. -
Main Function:
int main(int args, char* argv[]) { ... glutDisplayFunc(Display); glutReshapeFunc(reshape); ... }
Fungsi utama ini mengatur ukuran jendela dan memulai loop utama GLUT yang akan terus berjalan hingga jendela ditutup.
glutDisplayFunc
mengatur fungsi untuk menggambar objek, sedangkanglutReshapeFunc
mengatur fungsi untuk menangani perubahan ukuran jendela.
4. Menjalankan Program
Setelah Anda menulis program ini, Anda bisa menyusunnya menggunakan compiler C++ dan menjalankannya. Jika Anda menggunakan MinGW, pastikan Anda sudah menginstal OpenGL dan GLUT dengan benar.
5. Kesimpulan
Pada tutorial ini, kita telah membuat program OpenGL pertama kita di Windows menggunakan GLUT. Program ini menggambar sebuah poligon di jendela aplikasi menggunakan koordinat 2D. Anda bisa mengembangkan aplikasi ini lebih lanjut dengan menambahkan fitur-fitur grafis lainnya menggunakan OpenGL.
Komentar
Posting Komentar