Pendidikan Teknik Informatika Universitas Negeri Malang

Membuat Objek 2 Dimensi (segitiga) dengan GLUT (OpenGL Utility Toolkit)

OpenGL adalah suatu graphic library yang sebagian bersifat open source, dipakai pada banyak platform (windows, linux) dan dapat digunakan pada berbagai jenis compiler seperti C++ atau Delphi.
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.
  • Syntax Perintah OpenGL

Sintaks perintah OpenGL mengikuti aturan penulisan dari library dimana fungsi tersebut berasal, format penulisan fungsi OpenGL adalah :
Semua perintah OpenGL menggunakan awalan gl diikuti dengan huruf kapital pada setiap kata membentuk nama perintah (sebagai contoh glClearColor). Untuk mendefinisikan konstanta diawali dengan GL_, dengan menggunakan huruf kapital dan garis bawah untuk memisahkan kata (seperti GL_POLY_STIPPLE). Terkadang beberapa huruf dan angka ditambahkan pada akhir perintah (seperti 3f pada glVertex3f). Dalam hal ini angka 3 menunjukkan berapa banyak argumen yang harus ada pada perintah tersebut dan akhiran huruf f menunjukkan jenis datanya yaitu floating.

  • Library yang Berhubungan dengan OpenGL

OpenGL menyediakan set perintah untuk menggambar dan semua penggambaran yang lebih tinggi tingkatnya harus dilakukan dengan mengambil fungsi dasar dari perintah ini. Maka dari itu dapat dibuat library itu sendiri di atas program OpenGL yang mempermudah pemrograman lebih lanjut. Fungsi asli dari OpenGL sendiri selalu diawali dengan gl yang
terdapat pada library opengl32.dll dan file header gl.h. Sedangkan beberapa library yang telah ditulis untuk menyediakan fungsi-fungsi tambahan pada OpenGL adalah :

    • OpenGL Utility Library (GLU) yang didalamnya terdapat sejumlah rutin yang menggunakan level bawah dari perintah OpenGL. Rutin-rutin ini mempunyai awalan glu. Library ini digunakan sebagai bagian dari implementasi OpenGL.
    • OpenGL Extension untuk X-Windows yang menyediakan fungsi untuk menciptakan OpenGL context dan mengasosiasikannya dengan mesin yang menggunakan X-Windows. Rutin-rutin ini mempunyai awalan glx.
    • Auxiliary atau aux library terdapat pada library glaux.lib dan file header glaux.h. Perintah yang akan digunakan selalu menggunakan awalan aux
    • OpenGL Utility Toolkit (GLUT) adalah toolkit untuk sistem windows yang ditulis oleh Mark Kilgard untuk menyembunyikan perintah API sistem windows yang kompleks.

Sekarang kita coba membuat sebuah bangun segitiga 2D dengan menggunakan open-GL

Segitiga 2D

Silahkan coppast syntax di bawah ini:

#include <stdlib.h>
#include <gl/glut.h>

sintaks di atas adalah header dasar dan harus ada untuk dapat menjalankan GLUT, dan standard Libarary.

void renderScene(void){
        glClear(GL_COLOR_BUFFER_BIT);
        glBegin(GL_TRIANGLES);
        glVertex3f(-10.,10.,0.0);
        glVertex3f(-10.,0.,0.0);
        glVertex3f(0.,0.,0.0);
        glEnd();
        glFlush(); }

Sedangkan sintaks di atas adalah sintaks untuk membuat objek primitif 2 dimensi berbentuk segitiga. Fungsi yang digunakan adalah GL_TRANGLES yang berfungsi untuk membuat setiap 3 buah titik disambungkan menjadi satu sehingga terbentuk sebuah segitiga. Sedangkan untuk glVertex3f(x,y) digunakan untuk membuat sebuah titik pada koordinat x dan y.

void main(int argc, char **argv){
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
        glutInitWindowPosition(100,100);
        glutInitWindowSize(320,320);
        glutCreateWindow("Pemrograman Grafis GLUT");
               gluOrtho2D(-50.0,50.0,-50.0,50.0);
        glutDisplayFunc(renderScene);
        glutMainLoop(); }

Sedangkan pada fungsi void main adalah fungsi yang digunakan untuk menjalankan program agar mampu menampilkan pada kanvas.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

The WordPress.com Blog

The latest news on WordPress.com and the WordPress community.

%d bloggers like this: