Filename | Tugas Grafik Komputer & Pengolahan Citra (Open GL) |
Permission | rw-r--r-- |
Author | tes |
Date and Time | 09.49 |
Label | open gl |
Action |
Beberapa minggu yang lalu saya mendapat kan tugas dari dosen Tugas Grafik Komputer & Pengolahan Citra (OpenGL). OpenGL (Open Graphics Library) adalah spesifikasi standar yang mendefinisikan sebuah lintas-bahasa, lintas platform API untuk mengembangkan aplikasi yang menghasilkan grafis komputer 2D maupun3D. Antarmuka terdiri dari lebih dari 250 panggilan fungsi yang berbeda yang dapat digunakan untuk menggambar tiga dimensi yang adegan-adegan kompleks dari bentuk-bentuk primitif sederhana. OpenGL dikembangkan oleh Silicon Graphics Inc (SGI) pada tahun 1992 dan secara luas digunakan dalam CAD, realitas maya, visualisasi ilmiah, visualisasi informasi, dan simulasi penerbangan. Hal ini juga digunakan dalam video game, di mana bersaing dengan Direct3D on Microsoft Windows platform (lihat vs OpenGL Direct3D). OpenGL dikelola oleh sebuah teknologi konsorsium nirlaba yaitu Khronos Group.
Karena saya disini menggunakan Linux Backtrack 5 R3 maka sebelum itu kita diharuskan menginstall dan mendownload beberapa file dari repository.
Pertama - tama kita install dulu header files OpenGL libraries dengan perintah :
apt-get update
apt-get install libgl1-mesa-dev
Kedua buat yang belum ada GCC C/C++ compiler kita diharuskan menginstallnya terlebih dahulu, disini Backtrack 5 R3 compiler tersebut sudah terinstall dari sananya. Buat yang belum bisa menginstall dengan perintah :
apt-get update
apt-get install build-essential
Ketiga kita diharuskan menginstall library GLEW, FreeGLUT dan GLM dengan perintah :
apt-get install libglew1.5-dev freeglut3-dev libglm-dev
Keempat cek instalasi OpenGL dengan perintah :
glxinfo | grep OpenGL atau glxgears
Kelima kita masuk ke terminal lalu ketikkan :
vi tugas.c
Codingnya
#include "GL/freeglut.h" #include "GL/gl.h" // 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; }
Keenam compile dengan menggunakan perintah :
gcc -lglut -Wall tugas.c -o tugas
Lalu jalankan dengan dengan perintah :
./tugas
karena disini saya menggunakan VGA NVIDIA OPTIMUS dan sudah saya install di dalam Backtrack 5 ini driver NVIDIA BUMBLEBEE maka saya menggunakan perintah seperti dibawah ini untuk menjalankannya :
optirun ./tugas
Hasil Output
Garis Diagonal
Garis Horizontal
Garis Vertikal
0 komentar:
Posting Komentar