OpenGL adalah sebuah pustaka grafis yang digunakan untuk menggambar objek 2D dan 3D pada aplikasi. Salah satu implementasi yang dapat digunakan untuk menggambar objek dengan OpenGL adalah dengan memanfaatkan C++.
Pada artikel kali ini, kita akan membahas contoh pemrograman C++ yang menggunakan OpenGL untuk menggambar beberapa bentuk geometris seperti kotak besar, kotak kecil, dan segitiga.
Langkah-langkah dalam Pemrograman C++ dengan OpenGL:
-
Menyiapkan Library OpenGL dan GLUT
Untuk menggunakan OpenGL di C++, Anda harus memastikan bahwa pustaka OpenGL dan GLUT sudah terpasang. GLUT (OpenGL Utility Toolkit) adalah pustaka yang menyediakan fungsi dasar untuk membuat jendela, menangani input, dan menggambar objek.Dalam contoh ini, kita menggunakan:
windows.h
untuk platform Windows.glut.h
untuk fungsi GLUT.
-
Fungsi Display untuk Menggambar Objek Fungsi
Display
digunakan untuk menggambar objek di dalam jendela OpenGL. Di dalam fungsi ini, kita dapat mendefinisikan berbagai bentuk geometris seperti garis, titik, dan poligon.Berikut adalah implementasi fungsi
Display
yang menggambar kotak besar, kotak kecil, dan segitiga:void Display(){ glClear(GL_COLOR_BUFFER_BIT); // Membersihkan layar // Kotak besar (Line Strip) glBegin(GL_LINE_STRIP); glColor3f(1,0,0); // Warna merah glVertex2f(60,50); // Titik satu glVertex2f(60,190); // Titik dua glVertex2f(250,190); // Titik tiga glVertex2f(250,50); // Titik empat glVertex2f(60,50); // Titik lima glEnd(); // Kotak kecil (Line Strip) glBegin(GL_LINE_STRIP); glColor3f(0,1,1); // Warna cyan glVertex2f(120,95); // Titik satu glVertex2f(120,150); // Titik dua glVertex2f(190,150); // Titik tiga glVertex2f(190,95); // Titik empat glVertex2f(120,95); // Titik lima glEnd(); // Segitiga pertama dan kedua (Line Strip) glBegin(GL_LINE_STRIP); glColor3f(1,0,1); // Warna ungu glVertex2f(60,50); // Titik satu glVertex2f(115,65); // Titik dua glVertex2f(160,50); // Titik tiga glVertex2f(200,65); // Titik empat glVertex2f(250,50); // Titik lima glEnd(); // Segitiga ketiga dan keempat glColor3f(1,0,1); // Warna ungu glVertex2f(240,50); // Titik satu glVertex2f(225,85); // Titik dua glVertex2f(240,120); // Titik tiga glEnd(); glFlush(); // Menampilkan hasil }
-
Fungsi reshape untuk Menyesuaikan Ukuran Layar
Fungsireshape
digunakan untuk menangani perubahan ukuran jendela agar tampilan objek tetap sesuai dengan ukuran layar. Fungsi ini akan mengubah proyeksi sesuai dengan dimensi jendela yang baru.void reshape(int w, int h){ glViewport(0,0,(GLsizei)w,(GLsizei)h); // Mengubah viewport glMatrixMode(GL_PROJECTION); // Mengubah mode matriks glLoadIdentity(); // Mengatur ulang matriks proyeksi gluOrtho2D(0,320,0,240); // Mengatur proyeksi 2D }
-
Inisialisasi dan Fungsi Utama Fungsi
init
digunakan untuk menginisialisasi pengaturan dasar OpenGL seperti warna latar belakang dan ukuran titik yang digunakan.void init(){ glClearColor(1,1,1,1); // Warna latar belakang putih glPointSize(5); // Ukuran titik }
Fungsi utama
main
digunakan untuk memulai program, membuat jendela, dan menjalankan loop utama dari OpenGL:int main(int args, char* argv[]){ glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // Mengatur mode tampilan glutInitWindowSize(400, 400); // Ukuran jendela glutCreateWindow("Window OpenGl Pertama Saya"); // Judul jendela init(); // Inisialisasi glutDisplayFunc(Display); // Fungsi untuk menggambar glutReshapeFunc(reshape); // Fungsi untuk meresize layar glutMainLoop(); // Memulai loop utama GLUT }
Kesimpulan
Dalam artikel ini, kita telah mempelajari cara menggunakan OpenGL dengan C++ untuk menggambar objek geometris sederhana seperti kotak dan segitiga. Program ini menggunakan fungsi dasar OpenGL seperti glBegin
, glVertex
, dan glEnd
untuk mendefinisikan bentuk yang akan digambar. Fungsi glut
juga digunakan untuk menangani jendela dan tampilan grafis. Dengan memahami struktur dasar program ini, Anda dapat mengembangkan aplikasi grafis 2D lainnya menggunakan OpenGL.
Semoga artikel ini bermanfaat sebagai referensi awal dalam pemrograman grafis menggunakan OpenGL!
Komentar
Posting Komentar