OpenGL adalah sebuah API yang digunakan untuk membuat aplikasi grafis 2D dan 3D. Dalam artikel ini, kita akan membahas tentang bagaimana membuat gambar titik menggunakan OpenGL dengan bahasa pemrograman C. Program ini akan menampilkan beberapa titik dengan warna hijau di dalam jendela OpenGL.
1. Persiapan dan Library yang Digunakan
Sebelum kita mulai menulis program, pastikan bahwa sistem Anda sudah terinstall dengan library yang diperlukan untuk menjalankan OpenGL, seperti glut.h
dan windows.h
. GLUT (OpenGL Utility Toolkit) digunakan untuk membuat jendela, menangani input, dan menggambar objek 3D dalam aplikasi OpenGL.
2. Struktur Program
Program ini terdiri dari beberapa fungsi utama, yaitu Display()
, reshape()
, dan init()
. Fungsi utama yang akan dijalankan oleh GLUT adalah Display()
untuk menggambar titik, reshape()
untuk menyesuaikan ukuran jendela, dan init()
untuk inisialisasi pengaturan awal OpenGL.
3. Keterangan Fungsi-Fungsi dalam Program
Display()
: Fungsi ini bertugas untuk menggambar titik pada layar. Setiap titik diberi warna hijau, dan posisi titik diatur menggunakan fungsiglVertex2f(x, y)
.reshape()
: Fungsi ini digunakan untuk mengubah ukuran jendela agar grafik OpenGL dapat menyesuaikan ukuran tampilan ketika ukuran jendela berubah.init()
: Fungsi inisialisasi yang mengatur beberapa pengaturan awal, seperti warna latar belakang dan ukuran titik yang akan digambar.
4. Kode Program
#include<windows.h>
#include<gl\glut.h>
// Fungsi untuk menggambar titik
void Display() {
glClear(GL_COLOR_BUFFER_BIT); // Membersihkan layar
glBegin(GL_POINTS); // Menandakan bahwa kita menggambar titik
// Menentukan warna titik hijau dan menggambar titik-titik
glColor3f(0.0, 1.0, 0.0); // Warna hijau
glVertex2f(50., 50.);
glVertex2f(100., 100.);
glVertex2f(150., 150.);
glVertex2f(200., 200.);
glVertex2f(250., 250.);
glVertex2f(250., 300.);
glVertex2f(250., 350.);
glVertex2f(300., 250.);
glVertex2f(350., 250.);
glVertex2f(50., 450.);
glVertex2f(100., 400.);
glVertex2f(150., 350.);
glVertex2f(200., 300.);
glVertex2f(50., 450.);
glVertex2f(200., 250.);
glVertex2f(150., 250.);
glVertex2f(450., 450.);
glVertex2f(400., 400.);
glVertex2f(350., 350.);
glVertex2f(300., 300.);
glVertex2f(450., 50.);
glVertex2f(400., 100.);
glVertex2f(350., 150.);
glVertex2f(300., 200.);
glVertex2f(250., 200.);
glVertex2f(250., 150.);
glEnd(); // Mengakhiri penggambaran titik
glFlush(); // Menampilkan hasil gambar
}
// Fungsi untuk mengubah ukuran jendela
void reshape(int w, int h) {
glViewport(0, 0, (GLsizei)w, (GLsizei)h); // Menyesuaikan tampilan
glMatrixMode(GL_PROJECTION); // Mengatur proyeksi
glLoadIdentity(); // Menghapus proyeksi lama
gluOrtho2D(0.0, 500.0, 0.0, 500.0); // Mengatur rentang koordinat
}
// Fungsi inisialisasi
void init() {
glClearColor(1.0, 0.0, 0.0, 1.0); // Mengatur warna latar belakang menjadi merah
glPointSize(5.0); // Mengatur ukuran titik
}
// Fungsi utama
int main(int args, char* argv[]) {
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // Mode tampilan
glutInitWindowSize(500, 500); // Ukuran jendela
glutCreateWindow("Windows OpenGL Pertama Saya"); // Membuat jendela
init(); // Inisialisasi
glutDisplayFunc(Display); // Menetapkan fungsi display
glutReshapeFunc(reshape); // Menetapkan fungsi reshape
glutMainLoop(); // Memulai loop GLUT
}
5. Penjelasan Program
glBegin(GL_POINTS)
danglEnd()
: Fungsi ini digunakan untuk menggambar objek titik (point). Setiap titik digambar menggunakanglVertex2f(x, y)
dengan posisi yang berbeda.glColor3f(r, g, b)
: Fungsi ini mengatur warna objek yang digambar. Pada contoh ini, warna yang digunakan adalah hijau (0.0, 1.0, 0.0).gluOrtho2D()
: Fungsi ini mengatur proyeksi 2D pada rentang koordinat tertentu. Dalam hal ini, rentang koordinat X dan Y diatur dari 0 hingga 500.glutMainLoop()
: Fungsi ini menjalankan loop GLUT yang akan terus menampilkan jendela dan menunggu perintah untuk menggambar.
6. Hasil yang Diharapkan
Program ini akan menampilkan jendela 500x500 piksel dengan beberapa titik hijau yang tersebar di dalamnya. Anda dapat melihat bagaimana setiap titik digambar pada posisi yang telah ditentukan di dalam kode program.
7. Kesimpulan
Dengan menggunakan OpenGL dan GLUT, kita bisa membuat aplikasi grafis sederhana untuk menggambar titik-titik atau objek lainnya. Dalam contoh ini, kita telah membuat aplikasi yang menampilkan beberapa titik berwarna hijau di layar. Program ini juga dapat dikembangkan untuk menggambar objek lain, seperti garis, segitiga, atau bentuk-bentuk lebih kompleks.
Komentar
Posting Komentar