Rabu, 01 Mei 2013

PENGENALAN GLUT

PENGENALAN GLUT



1.      GLUT (OpenGL Utility Toolkit)
Dikembangkan oleh Mark Kilgard. GLUT merupakan pengembangan dari OpenGL dimana memiliki keunggulan sebagai berikut:
·        Mudah, portable window manager, menggunakan callback functions untuk menambahkan interaksi dari user.
·         Didesain untuk aplikasi dengan level kecil hingga menengah.
·         Distribusi library bebas tetapi tidak open source.
2.      Pemrograman berbasis event
GLUT pada dasarnya dibangun untuk menciptakan aplikasi grafis menggunakanpemrograman yang bersifat prosedural. Di dalamnya terdapat fungsi main loop yang diatur oleh GLUT dan looping yang terjadi dalam aplikasi bertujuan untuk penanganan fungsi-fungsi callback sebagai input dari user seperti fungsi redraw, mouse, keyboard, joystick, dll.
3.      Instalasi GLUT pada windows dan aplikasi pengembangan Visual Studio 2008 Express
GLUT tidak secara otomatis dapat diaplikasikan karena membutuhkan beberapa file tambahan antara lain glut.h, glut32.lib, glut32.dll yang harus disimpan pada lokasi tertentu sesuai dengan aplikasi pengembangan yaitu Visual Studio 2008 Express.


Glut (GL Utility Toolkit) adalah hasil pengembangan dari openGL yang didesain dengan level kecil dan menengah yang menggunakan function untuik menambah interaksi dari user. Jika pemrogaman openGl menggunakan C++, maka diperlukan library tambahan seperti Glut.h yang nantinya akan disalin ke drive :\Progam Files\Microsoft Visual Studio\Vc\include\GL, Glut32.lib yang akan disalin ke drive:\Progam Files\Microsoft Visual Studio\Vc\llb, Glut32 yang harus di salin di ke drive :\Windows\System
Setiap fungsi di atas memiliki code-code tersendiri dalam pengaplikasiannya pada grafika komputer. Antara lain :
1.      Fungsi Dasar Menggambar Titik
Berikut adalah beberapa fungsi didalam menggambar suatu titik :
a.        glVertex2i(x,y)
Yaitu suatu fungsi untuk menggambar titik pada koordinat x dan y, dengan nilai satuan berupa integer. Contoh glVertex2i(10,10);
b.      glVertex2f(x,y)
Yaitu suatu fungsi untuk menggambar titik pada koordinat x dan y, dengan nilai satuan berupa float. Contoh glVertex2f(10.0,10.0);
c.       glVertex2d(x,y)
Yaitu suatu fungsi untuk menggambar titik pada koordinat x dan y, dengan nilai satuan berupa double. Contoh glVertex2d(10.0,10.0);
2.      Membuat suatu objek
Berikut adalah primitive objek yang akan dipergunakan didalam pembuatan suatu objek :
a.       # define GL_POINTS
Fungsi di atas digunakan  untuk menciptakan suatu titik.
b.      # define GL_LINES
Fungsi di atas digunakan untuk menciptakan suatu garis
c.       # define GL_TRIANGLES
Triangle adalah tiga buah titik yang terhubung menjadi suatu segitiga dengan blok di tengahnya.
d.      # define GL_TRIANGLES_STRIP
      Pada triangles strip jumlah vertex yang dipergunakan adalah 4 buah vertex.
      Ilustrasi :
       

e.        # define GL_TRIANGLE_FAN
Triangles fan digunakan untuk pembuatan suatu objek dengan menggunaka segitiga dimana hanya menggunakan 1 titik pusat saja.
Ilustrasi :

f.       # define GL_QUADS
Quad atau segempat merupakan empat buah titik yang terhubung menjadi suatu segi empat dengan blok di tengahnya.
g.      # define GL_QUADS_STRIP
      Pada quads strip 4 buah vertex merupakan 1 kelompok
     Ilustasi :
  
Langkah rendering pada quads strip :
1.         Nomor yang berhadap (membentuk 2 garis yang sejajar)
2.         Nomor ganjil dengan nomor ganjil dipertemukan
3.         Nomor genap dengan nomor genap dipertemukan
4.         Garis yang tersisa akan dipertemukan
 h.  # define GL_POLYGON
Polygon merupakan suatu fungsi yang mirip dengan polyline, tetapi menghasilkan
kurva tertutup dengan blok warna (fill). Rendering yang dimiliki oleh
GL_POLYGON  sama dengan GL_TRIANGLE_FAN
Namun ada beberapa catatan yang berhubungan dalam membuat poligon, meliputi :
a.       glLineWidth yaitu suatu fungsi yang berfungsi untuk mengatur tebalnya garis
b.      glPointSize yaitu suatu fungsi yang berfungsi untuk mengatur besarnya suatu objek
c.       gluOrtho2D yaitu suatu fungsi untuk mengatur proyeksi hasil eksekusi dan mendefinisikan besarnya sistem koordinat dengan urutan kiri-kanan dan bawah-atas


contoh program GLUT:

SCRIPT:


#include <stdlib.h>

#include <glut.h>


void renderScene(void) {
      /*...*/
}

void main(int argc, char **argv){
      glutInit(&argc,argv);
      /*...*/
      glutCreateWindow("Pemrograman Grafika GLUT");
      glutDisplayFunc(renderScene);
      glutMainLoop();
}
  


OUTPUT:


2 komentar: