GLUT (OpenGL Utility Toolkit) dikembangkan oleh Mark Kilgard. GLUT merupakan pengembangan OpenGL dimana memiliki keunggulan sebagai berikut :- Mudah, portable window manager. menggunakan callback functions untuk menambahkan interaksi user
- Didesain untuk aplikasi dengan level kecil hingga menengah
- Distribusi library bebas tetapi tidak open source
GLUT menyediakan interface untuk menejemen window, menu, dan peralatan input (keyboard, dan mouse). GLUT juga menyediakan fungsi otomatis untuk menggambar objek primitif (garis, lingkaran, titik, persegi),objek 3 dimensi wire (kerangka) maupun yang solid, seperti cube (kubus), sphere (bola), dan teapot (poci teh), cone (kerucut), torus, dan lain-lain
Dua tujuan GLUT ialah menciptakan fleksibitas code antar platform yang dapat dijalankan lebih dari satu sistem operasi (Windows, Linux, Mac OS X, FreeBSD, OpenBSD, NetBSD), dan untuk lebih mudah mempelajari OpenGL. Dengan menggunakan GLUT hanya memerlukan sedikit code dibandingkan dengan OpenGL, tanpa mengetahui spesifikasi sistem operasi, dikarenakan OpenGL adalah sebagai mesin.
GLUT pada dasarnya dibangun untuk menciptkan aplikasi grafis menggunakan pemograman 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.
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 Express 2008
Ada 5 fungsi yang harus dipanggil untuk melakukan instalansi window yaitu:
- glutInit(int argc,char**argv)
Fungsi ini menginisialisasi glut dan memproses argument command_line yg disertakan(jika ada). Fungsi ini harus di panggil pertama kali sebelum pemanggilan terhadap fungsi-fungsi yang lain.- glutInitDisplayMode(unsigned intmode)
Fungsi ini digunakan untuk menentukan apakah akan menggunakan model pewarnaan RGBA atau indek warna. Dengan fungsi ini juga bisa menentukan apakah akan menggunakan windows buffer single atau double.
- GlutInitWindowPosisition(int.x,int.y)
Fungsi ini menentukan letak window dengan patokkannya ialah pada window kiri atas.
- glutInitWindowSize(int width,int height)
fungsi ini menspesifikasikan ukuran window yang dibuat dalam pixel.
- glutCreateWindow(char *string)
fungsi untuk membuat window dalam konteks openGL, dan akan menghasilkan identitas atau judul window tersebut.
Windowing Dengan GLUT (Display Callback)
- glutDisplayFunc(void(*func)(void))
Fungsi ini memanggil fungsi lain yg menentukan konten dari windows yg telah di buat sebelumnya.
- glutPostRedisplay(void)
Untuk mengubah konten window
-glutMainLoop(void)
Fungsi untuk event perulangan, display pada callback akan terus ditampilkan selama aplikasi itu tidak ditutup
Latihan :
Source Code
#include <stdlib.h>
#include <glut.h>
void renderScene(void) {
/*
... */
}
void main(int argc, char **argv) {
glutInit(&argc,
argv);
/*
... */
glutCreateWindow("Pemograman
Grafis GLUT");
glutDisplayFunc(renderScene);
glutMainLoop();
}
Penjelasan :
Program diatas
menggunakan header stdlib dan glut. Header Glut berfungsi agar fungsi glut dapat diterjemahkan dan program dapat berjalan dengan baik. Program diatas menggunakan fungsi glutCreateWindow maksudnya
adalah memberi judul pada windows dengan nama yang diisi pada parameter.
glutInit merupakan fungsi yang mengizinkan sebuah aplikasi untuk mendapatkan
argument command line(pada cmd) dan system inisialisasi. glutDispalyFunc berfungsi
sebagai fungsi pemanggilan display. glutMainLoop berfungsi sebagai fungsi untuk
melakukan perulangan event.
Komentar
Posting Komentar