Fungsi Keyboard dan Mouse : Part 1
Grafika komputer didalam bidang teknik informatika Kali ini saya membuat novel serial lagi. Novel ini terdapat 3 bagian. Bagian pertama yang tidak lain melainkan postingan ini berisi event handling yang ada di open gl. Bagian kedua akan membahas mengenai mendefinisikan fungsi keyboard, dan bagian terakhir akan membahas fungsi mouse. So, here I go ,,,
OpenGL menyediakan fungsi yang didefinisikan oleh user dan dipanggil pada saat ada event yang bersesuaian. OpenGL memonitor peralatan input, ketika ada sesuatu yang terjadi,misalkan saat mouse down,key press,dan lain-lain. Pada tabel 4.1 adalah beberapa event yang dicek oleh OpenGL.
Event | Contoh | Fungsi Callback OpenGL |
Keypress | KeyDown KeyUp | glutKeyboardFunc |
Mouse | leftButtonDown leftButtonUp | glutMouseFunc |
Motion | With mouse press Without | glutMotionFunc glutPassiveMotionFunc |
Window | Moving Resizing | glutReshapeFunc |
System | Idle Timer | glutIdleFunc glutTimerFunc |
Software | What to draw | glutDisplayFunc |
Fungsi Callback GLUT adalah fungsi yang berjalan saat ada kejadian (event-driven). Program-program yang menggunakan window untuk input/output,menunggu sampai ada kejadian dan kemudian mengeksekusi beberapa fungsi yang didefinisikan sebelumnya berdasarkan input dari user. Kejadian yang dimaksud : key press,mouse button press dan release,window resize,dan lain-lain. Program OpenGL yang dibuat akan berjalan tak terbatas (infinite loop). Berikut adalah contoh coding program menggunakan input OpenGL. Pembahasan fungsi Callback OpenGL pada praktikum 4 ini akan difokuskan pada pengecekan adanya kejadian mouse motion dan kejadian pada penekanan keyboard. berikut kodenya
int main( intargc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode( GLUT_RGB || GLUT_SINGLE );
glutInitWindowSize( 250, 250 );
glutInitWindowPosition( 100, 100 );
glutCreateWindow(argv[0]);
init ();
glutDisplayFunc( display );
glutReshapeFunc (reshape );
glutMouseFunc( mouse );
glutMotionFunc( motion );
glutKeyboardFunc( keyboard );
glutMainLoop();
return 0;
}
Postingan selanjutnya akan membahas event handling yang ada di keyboard. Langsung aja lanjut ke sini