• Home
  • About Me
  • Services
  • Contact Me
No Result
View All Result
Kahfie Site
  • Home
  • About Me
  • Services
  • Contact Me
No Result
View All Result
Kahfie Site
No Result
View All Result

Tugas Grafik Komputer & Pengolahan Citra (Open GL)

February 4, 2014
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
 

maka akan terbuka halaman edit lalu ketik “i” untuk menginsert codingan, copy paste codingan yang ada di bawah ini ke terminal anda. Setelah itu tekan tombol esc pada keyboard lalu ketikkan “:wq” pada terminal lalu tekan enter.

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
Share125Tweet78
kahfiehudson

kahfiehudson

I'm just a dreamer

Related Posts

Install Webmin di Ubuntu Server 18.04
Linux

Install Webmin di Ubuntu Server 18.04

March 5, 2020

Webmin adalah salah satu kontrol panel berbasis GUI yang berjalan diatas unix maupun linux dan mudah digunakan. Dengan webmin kita bisa mensetup user accounts, Apache, DNS, file sharing, Mail Server, SSL dll. Intinya kita hanya tinggal klak klik saja...

Install Cacti Plugin Network Weathermap pada PHP 7
Linux

Install Cacti Plugin Network Weathermap pada PHP 7

September 28, 2019

Tutorial ini hampir sama dengan yang sebelumnya yang dimana masalahnya adalah plugin tersebut tidak berjalan dengan sempurna. Hal ini dikarenakan plugin ini di buat menggunakan PHP versi 5 sedangkan saya menggunakan PHP versi 7 yang dimana ada fungsi didalam...

Install Cacti Plugin Realtime pada PHP 7
Linux

Install Cacti Plugin Realtime pada PHP 7

August 7, 2019

Pada tutorial kali ini saya akan share instalasi plugin realtime di cacti. Untuk penjelasan plugin tersebut untuk apa bisa googling sendiri ya. Cacti yang saya gunakan disini menggunakan versi 0.8.8f, PHP versi 7.0.32 dan plugin realtime versi 0.5 lalu...

Membuat DNS Anti Porn Menggunakan Bind RPZ Part 1
Linux

Impelementasi DNS Anti Porn Menggunakan Bind RPZ (Part 3)

July 21, 2019

Mohon maaf postingan part 3 ini terlalu lama dikarenakan kesibukan saya hehehe. Tahap ketiga ini adalah tahap dimana kita implementasi DNS yang sudah kita buat pada router ataupun pada komputer user langsung. Pada komputer user : Pertama buka control...

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

About Me

Kahfie Site

Kahfi Alfarisi Firdaus

Blogger & Traveler

Hello & welcome to my blog! My name is Kahfi and I'm a independent blogger with a passion for sharing about IT and much more.

Categories

Popular

  • Membuat DNS Anti Porn Menggunakan Bind RPZ Part 1

    Membuat DNS Anti Porn Menggunakan Bind RPZ Part 1

    1064 shares
    Share 426 Tweet 266
  • Penyebab Satria FU Mati Kelistrikan

    807 shares
    Share 323 Tweet 202
  • Contoh Draft Kontrak kerja untuk Proyek TI (Teknologi Informasi)

    656 shares
    Share 262 Tweet 164
  • Aktifasi Google Safe Search Pada Bind RPZ (Part2)

    576 shares
    Share 230 Tweet 144
  • Cara Membongkar Laptop Asus A42JC

    563 shares
    Share 225 Tweet 141

Instagram

  • Miura
  • Ternyata 8 tahun lalu kita pernah foto studio wkwk 🤣🤣🤣
  • Kalo lagi minum yang pahit-pahit tiba-tiba jadi manis karena lihat foto ini jangan salahin gue ya. 🧐
  • Matahari terbit dikala itu.
  • Makasih loh @seki_hoho ganteng bat gua difotoin dari belakang 🤨
  • Ku suka air.
  • Monmaap ini bukan abang2 vila puncak yak
  • Home
  • About Me
  • Services
  • Contact Me

© Copyright 2022 Kahfie Site.

No Result
View All Result
  • Home
  • About Me
  • Services
  • Contact Me