Membuat Program OpenGL Pertama di C++ Menggunakan GLUT

Codeblocks,Komputer Grafik

OpenGL adalah sebuah pustaka perangkat lunak untuk rendering grafik 2D dan 3D. Dalam pemrograman C++, OpenGL dapat digunakan untuk membuat aplikasi grafis yang sangat interaktif dan menarik. Pada artikel kali ini, kita akan membuat sebuah program OpenGL pertama menggunakan C++ dan GLUT (OpenGL Utility Toolkit) untuk menampilkan empat titik dengan warna yang berbeda.

Langkah-Langkah Membuat Program

1. Persiapan Lingkungan

Untuk menjalankan program OpenGL di C++, Anda harus memiliki beberapa perangkat lunak yang telah terinstal, seperti:

  • GLUT: Sebuah pustaka yang menyediakan API untuk pengelolaan window, event handling, dan input/output.
  • OpenGL: Pustaka grafis untuk menggambar objek 2D/3D.
  • Compiler: Sebagai contoh, Anda bisa menggunakan MinGW atau Visual Studio.

Jika perangkat lunak tersebut telah terinstal dengan benar, Anda siap memulai.

2. Kode Program

Berikut adalah program OpenGL pertama yang akan menggambar empat titik dengan warna yang berbeda di layar:

#include<windows.h>
#include<gl\glut.h>

// Fungsi untuk menggambar objek
void Display(){             
    glClear(GL_COLOR_BUFFER_BIT);    // Menghapus buffer warna
    glBegin(GL_POINTS);             // Memulai menggambar titik
    glColor3f(0.0,1.0,0.0);        // Mengatur warna hijau
    glVertex2f(10.,10.);            // Titik pertama
    glColor3f(1.0,1.0,0.0);        // Mengatur warna kuning
    glVertex2f(10.,110.);           // Titik kedua
    glColor3f(0.0,0.0,1.0);        // Mengatur warna biru
    glVertex2f(150.,110.);          // Titik ketiga
    glColor3f(1.0,1.0,1.0);        // Mengatur warna putih
    glVertex2f(150.,10.);           // Titik keempat
    glEnd();                        // Mengakhiri penggambaran titik
    glFlush();                      // Menyegarkan layar
}

// Fungsi untuk mengatur ulang ukuran jendela
void reshape(int w, int h){
    glViewport(0, 0, (GLsizei)w, (GLsizei)h); // Menyesuaikan viewport
    glMatrixMode(GL_PROJECTION);               // Menyetel mode matriks proyeksi
    glLoadIdentity();                          // Memuat identitas matriks
    gluOrtho2D(0.0, 240.0, 0.0, 240.0);       // Menetapkan koordinat 2D ortogonal
}

// Fungsi inisialisasi OpenGL
void init(){
    glClearColor(1.0, 0.0, 0.0, 1.0);  // Mengatur warna latar belakang menjadi merah
    glPointSize(5.0);                  // Menentukan ukuran titik yang akan digambar
}

// Fungsi utama
int main(int args, char* argv[]){
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);  // Menentukan mode display
    glutInitWindowSize(240, 240);                 // Menetapkan ukuran jendela
    glutCreateWindow("Windows OpenGL Pertama Saya"); // Membuat jendela dengan judul
    init();                                      // Memanggil fungsi inisialisasi
    glutDisplayFunc(Display);                    // Fungsi untuk menampilkan objek
    glutReshapeFunc(reshape);                    // Fungsi untuk mengatur ulang ukuran jendela
    glutMainLoop();                              // Memulai loop utama GLUT
}

3. Penjelasan Program

  • Inisialisasi:
    • Fungsi init() mengatur warna latar belakang menjadi merah menggunakan glClearColor() dan mengatur ukuran titik dengan glPointSize().
  • Display:
    • Fungsi Display() digunakan untuk menggambar objek pada layar. Dalam hal ini, kita menggambar empat titik dengan warna yang berbeda (hijau, kuning, biru, putih) menggunakan fungsi glColor3f() dan glVertex2f() untuk menentukan posisi titik pada layar.
  • Pengaturan Jendela:
    • Fungsi reshape() menangani perubahan ukuran jendela. Ini memastikan bahwa proyeksi tetap ortogonal dengan menggunakan gluOrtho2D(), yang menetapkan batas koordinat 2D pada layar.
  • GLUT Main Loop:
    • Fungsi glutMainLoop() memastikan aplikasi tetap berjalan dan menunggu event, seperti input dari pengguna atau perubahan jendela.

4. Hasil Output

Setelah menjalankan program ini, Anda akan melihat sebuah jendela yang menampilkan empat titik dengan warna berbeda (hijau, kuning, biru, dan putih). Titik-titik tersebut akan terletak di koordinat yang telah ditentukan pada fungsi glVertex2f().

Codeblocks,Komputer Grafik

5. Kesimpulan

Program ini menunjukkan dasar-dasar pemrograman grafis menggunakan OpenGL dan GLUT dalam C++. Meskipun hanya menggambar titik-titik dengan warna berbeda, Anda bisa mengembangkan lebih jauh untuk membuat objek 2D dan 3D yang lebih kompleks, serta memanipulasi interaktivitasnya. OpenGL menyediakan banyak sekali kemampuan untuk rendering grafik, baik untuk aplikasi desktop, game, atau simulasi.

Komentar