OpenGL Utility Toolkit – Berbasis Event Driven

GLUT pada dasarnya dibangun untuk menciptakan aplikasi grafis menggunakan pemrograman yang bersifat prosedural. GLUT hanya akan merespon jika ada event (kejadian), program tidak melakukan apapun sampai event muncul.
Contoh : Klik mouse dan Window Resize. Programmer harus mendefinisikan eventdan tindakan yang akan diambil. Sistem mengatur antrian event dan mengambil tindakan yang didefinisikan programmer.

Struktur Program

1. Mengkonfigurasi dan membuka window (GLUT)
2. Menginisialisasi state OpenGL
3. Meregistrasi fungsi callback input : render, resize, input
4. Inisialisasi sendiri. Contoh: mengatur warna background
5. glutMainLoop() :  Menunggu di sini sampai tindakan dipilih

Program event-driven dimulai dari main(), kemudian di-inisialisasi, dan menunggu di infinite loop. Programmer meregister fungsi-fungsi callback dan fungsi-fungsi tersebut dipanggil ketika event muncul.

Dibawah ini merupakan event yang akan direspon oleh GLUT untuk membuka window.

  • Inisialisasi :glutInit (&argc, argv);
  • Mengatur tampilan (misalnya : buffer tunggal dengan RGB) :
    glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
  • Mengatur ukuran window (W x H) :
    glutInitWindowSize (800, 600);
  • Mengatur ujung kiri atas window :

    glutInitPosition (100, 150);

  • Membuka window dengan judul “Welcome to my life”
    glutCreateWindow(“Welcome to my life”);

GLUT callback Functions:

  • glutDisplayFunc (MyDisplay);
    Konten window perlu digambar ulang
  • glutReshapeFunc (myReshape);
    Dipanggil ketika window di-reshaped
  • glutMouseFunc (myMouse);
    Dipanggil ketika mouse ditekan
  • glutKeyboardFunc (myKeyboard);
    Dipanggil ketika keyboard ditekan atau dilepaskan

 

 

Tinggalkan komentar

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.