Pemrograman OpenGL di Linux menggunakan GLUT
Kebetulan dapet tugas dari kampus untuk membuat garis menggunakan OpenGL (Open Graphics Library), pertanyaan yang langsung terfikir yaitu "Apa itu OpenGL bukan?" yeah, saya langsung teringat dengan berbagai game yang pernah saya mainkan di PC/Laptop kebanyakan biasanya menggunakan library OpenGL untuk urusan grafisnya, disamping menggunakan Direct3D.Tetapi disini saya tidak akan membahas apa itu OpenGL, anda bisa dapat informasi banyak tentang hal ini di internet (bisa juga dibilang kalau saya males) :D. Oke lanjut, jadi tugas dari dosen ini saya disuruh untuk membuat program untuk membuat garis vertikal, horizontal, dan diagonal dengan menggunakan library OpenGL. Karena saya menggunakan sistem operasi Linux, maka saya tinggal menginstall library nya yaitu free-glut versi opensource dari library GLUT(OpenGL Utility Toolkit). Oke karena saya menggunakan sistem operasi debian dan ingin menggunakan bahasa pemrograman c untuk pemrogramannya, maka saya hanya perlu mengetik pada terminal :
fathiraz@an0th3r:~$ sudo apt-get install freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev
sekarang library free-glut tinggal kita import dalam bentuk header bahasa c. coba ketik baris coding berikut di text editor anda dan save dengan nama tugas.c :
// include library glutnya #include// program utama int main(int argc, char **argv) { int pil; float x, y; // menampilkan menu dan pilihan printf(" [ MENU ] \n\n"); printf(" 1. Garis Vertikal\n"); printf(" 2. Garis Horizontal\n"); printf(" 3. Garis Diagonal\n\n"); printf("Masukkan pilihan anda [1..3] : "); scanf("%i", &pil); // seleksi kondisi pilihan if (pil == 1) { printf("\n\n [ Garis Vertikal ] \n\n"); printf("Masukkan y [1..99] : "); scanf("%f", &y); glutInit(&argc, argv); glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA); // posisi kotak (x,y) glutInitWindowPosition(405,95); // besarnya kotak (x,y) glutInitWindowSize(500,500); glutCreateWindow("Garis Vertikal OpenGL"); glClear(GL_COLOR_BUFFER_BIT); // gambar garisnya glBegin(GL_LINES); glVertex2f (0.0, 0.0); glVertex2f (0.0, y/100); glEnd(); glFlush(); glutMainLoop(); } else if (pil == 2) { printf("\n\n [ Garis Horizontal ] \n\n"); printf("Masukkan x [1..99] : "); scanf("%f", &x); glutInit(&argc, argv); glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA); // posisi kotak (x,y) glutInitWindowPosition(405,95); // besarnya kotak (x,y) glutInitWindowSize(500,500); glutCreateWindow("Garis Horizontal OpenGL"); glClear(GL_COLOR_BUFFER_BIT); // gambar garisnya glBegin(GL_LINES); glVertex2f (0.0, 0.0); glVertex2f (x/100, 0.0); glEnd(); glFlush(); glutMainLoop(); } else if (pil == 3) { printf("\n\n [ Garis Diagonal ] \n\n"); printf("Masukkan x [1..99] : "); scanf("%f", &x); printf("Masukkan y [1..99] : "); scanf("%f", &y); glutInit(&argc, argv); glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA); // posisi kotak (x,y) glutInitWindowPosition(405,95); // besarnya kotak (x,y) glutInitWindowSize(500,500); glutCreateWindow("Garis Diagonal OpenGL"); glClear(GL_COLOR_BUFFER_BIT); // gambar garisnya glBegin(GL_LINES); glVertex2f (0.0, 0.0); glVertex2f (x/100, y/100); glEnd(); glFlush(); glutMainLoop(); } else { // print error printf("ERROR!! Masukkan pilihan antara 1-3 !\n"); } return 0; }
selanjutnya tinggal anda compile menggunakan perintah :
gcc -lglut -Wall tugas.c -o tugas
lalu jalankan :
./tugas
screenshotnya :
Tampilan Awal Menu
Garis Vertikal
Garis Horizontal
Garis Diagonal
Subscribe to:
Posts
(
Atom
)
2 comments :
Post a Comment