GLUT Açılır Menülerine Giriş
OpenGL kullanarak uygulama geliştirirken, kullanıcı etkileşimini açılır menülerle artırmak isteyebilirsiniz. Bu menüler, gezinmeyi kolaylaştırabilir ve seçenekleri kompakt, kullanımı kolay bir formatta sunabilir. Birçok geliştirici, bu açılır menüleri GLUT (OpenGL Utility Toolkit) ile oluşturmanın mümkün olup olmadığını merak ediyor. İyi haber şu ki: bu çok kolay!
Bu blog yazısında, OpenGL uygulamanızda GLUT açılır menülerini nasıl uygulayacağınızı adım adım inceleyeceğiz. Bir menü oluşturma, menüye öğeler ekleme ve kullanıcı seçimini işleme konusunda basit bir örnek üzerinden ilerleyeceğiz.
GLUT Açılır Menülerinin Kurulumu
Menünüzü Oluşturma
İlk olarak, açılır menünüzü başlatmak için glutCreateMenu
kullanarak bir menü oluşturmalısınız. Ardından, bu menüye glutAddMenuEntry
kullanarak girişler ekleyeceksiniz.
İşte bir GLUT açılır menüsünü uygulamak için adım adım bir inceleme:
-
Menü Öğelerinizi Tanımlayın: Menünüzde sunulacak tüm olası seçenekleri listeleyen bir numaralandırma tanımlayın.
enum MENU_TYPE { MENU_FRONT, MENU_SPOT, MENU_BACK, MENU_BACK_FRONT, };
-
Varsayılan Değer Belirleyin: Menü durumunuz için varsayılan bir değer atayın.
MENU_TYPE show = MENU_BACK_FRONT;
-
Bir Menü İşleme Fonksiyonu Tanımlayın: Kullanıcının menüden seçtiği öğelere göre işlemleri yönetecek bir fonksiyon oluşturun.
void menu(int);
Ana Fonksiyonu Uygulama
main
fonksiyonu içinde, GLUT ortamını kurabilir, menüyü oluşturabilir ve genellikle sağ fare tuşuna menüyü atayabilirsiniz.
İşte kod:
int main() {
// GLUT Penceresini ve Bağlamı kurulumu
// ...
// Bir menü oluştur
glutCreateMenu(menu);
// Menü öğelerini ekle
glutAddMenuEntry("Önü Göster", MENU_FRONT);
glutAddMenuEntry("Arkayı Göster", MENU_BACK);
glutAddMenuEntry("Spot Işık", MENU_SPOT);
glutAddMenuEntry("Hepsini Karıştır", MENU_BACK_FRONT);
// Menü ile bir fare tuşunu ilişkilendir
glutAttachMenu(GLUT_RIGHT_BUTTON);
// Ana döngüyü başlat
glutMainLoop();
return 0;
}
Menü Seçimlerini İşleme
Artık menümüzü kurduğumuza göre, daha önce tanımladığınız menu
fonksiyonunu uygulamamız gerekiyor. Bu fonksiyon, menü seçeneklerinden birinin seçilmesi durumunda ne olacağını belirleyecek.
İşte o fonksiyon şöyle görünüyor:
void menu(int item) {
switch (item) {
case MENU_FRONT:
case MENU_SPOT:
case MENU_BACK:
case MENU_BACK_FRONT:
show = (MENU_TYPE) item; // Mevcut seçeneği güncelle
break;
default:
break;
}
glutPostRedisplay(); // Sahneyi tekrar çizmek için istek gönder
}
Sürecin Özeti
GLUT açılır menüsü oluşturma adımlarının hızlı bir özeti:
- Menü Öğelerinizi Tanımlayın: Kullanıcının alabileceği farklı eylemleri belirleyin.
- Menüyü Oluşturun:
glutCreateMenu
veglutAddMenuEntry
kullanarak menünüzü oluşturun. - Kullanıcı Girdisini İşleyin: Kullanıcı menü seçimlerine yanıt verecek bir fonksiyon uygulayın.
- Görüntüyü Güncelleyin: Menünün etkileşimde bulunulduğunda OpenGL pencerenizi yenilemek için
glutPostRedisplay
kullanın.
Sonuç
Sonuç olarak, OpenGL uygulamanız için bir GLUT açılır menüsü oluşturmak oldukça basit. Sadece birkaç satır kod ile kullanıcılara uygulamanızın görsellerini ve ayarlarını etkileme yolları sunabilirsiniz. Açılır menülerin kullanımı, kullanılabilirlik ve gezinilebilirliği artırarak uygulamanızı daha etkileyici ve kullanıcı dostu hale getirir.
Artık GLUT açılır menülerini nasıl uygulayacağınızı biliyorsunuz – iyi kodlamalar!