GLFW, temelde ve ilk olarak OpenGL ile kullanılmak üzere geliştirilmiş hafif bir yardımcı kütüphanedir. Programcıya, üzerinde çalışılan işletim sisteminden bağımsız olarak OpenGL ve Vulkan için 'context' ve pencere yaratma, klavye, fare, oyun çubuğu girdi ve çıktılarını yönetme kolaylığı sağlar.

GLFW
Geliştirici(ler) GLFW geliştirici takımı
Güncel sürüm 3.2.1 / 18 Ağustos 2016
Geliştirme durumu Aktif
İşletim sistemi Windows, Mac OS X, Linux
Tür Yazılım Kütüphanesi
Lisans zlib/libpng
Resmî sitesi www.glfw.org
Kod deposu Bunu Vikiveri'de düzenleyin

Yazılım mimarisiDüzenle

GLFW, küçük bir C kütüphanesidir ve programcının OpenGL, Vulkan kaynağına sahip pencereler yaratıp yönetebilmesine, tanımlı farklı monitör ve video modlarını kullanabilmesine, standart bilgisayar giriş çıkış aygıtlarıyla OpenGL'i ilişkilendirebilmesine yardımcı olur. GLFW, uygulamaların ilgili grafik API'sinin çıktılarına zemin olabilecek oldukça ince birçok-platform soyutlama katmanı sunar. GLFW, çok-platformlu uygulamalar geliştirmek için uygun olduğu gibi, tek platform üzerinde uygulama geliştirmek isteyen programcıların da üzerinde çalıştıkları işletim sisteminin özel API'leriyle cebelleşmesini önler.

GLFW türü kütüphaneler; OpenGL gibi API'lerin sunmadığı pencere yönetimi, kullanıcı girdi-çıktı işlemleri gibi olayları yönetmek için üretilirler. Etrafta bu işi yapan freeglut, SDL gibi daha pek çok kütüphane mevcuttur. freeglut, GLUT'un açık kaynak implementasyonudur. Ancak, freeglut'un yalnızca eski GLUT'a bire bir alternatif olması ve SDL'nin de çok büyük bir kütüphane olması yalnızca OpenGL'e odaklanmak isteyenler için yeni kütüphaneleri zorunlu kılmaktadır. İşte bu noktada hafifliği, modern tasarımı ve yalnızca OpenGL için araçlar sunması dolayısıyla GLFW öne çıkar.

GLFW,

  • bir kullanıcı arabirimi kütüphanesi sunmaz. Programcı, GLFW'yi kullanarak OpenGL kaynağıyla (context) ilintilendirilmiş bir üst seviye pencereyi kolayca yaratabilir. Ancak menu, düğme gibi GUI elemanları sağlamaz.
  • yalnızca Windows kütüphanesi değildir. Windows'a özgü karmaşık özellikler içermez.
  • threading (çoklu iş parçacığı) kütüphanesi değildir. Bunu gerçekleştirebilmek için piyasadaki üçüncü parti kütüphaneler kullanılabilir. Üstelik C++11 gibi C++ sürümleriyle bunlar dile de eklenecekler.
  • bir resim yükleme kütüphanesi değildir.
  • bir render kütüphanesi değildir. OpenGL kullanarak bunu yapmak, programcının sorumluluğundadır.
  • ses dosyaları çalamaz veya işleyemez.
  • GLUT veya SDL değildir.

Kullanılabileceği programlama dilleriDüzenle

GLFW, C ile yazılmıştır ancak diğer dillerle de çalışabilecek bağlayıcılara sahiptir Ada, C Sharp, Common Lisp, D (programlama dili), Go (programlama dili), Haskell (programlama dili), Java (programlama dili), Python, Rebol, Red (programlama dili), Ruby (programlama dili) ve Rust (programlama dili).[1]

BağlantılarDüzenle

GLFW Anasayfa 13 Aralık 2014 tarihinde Wayback Machine sitesinde arşivlendi.

KaynakçaDüzenle

  1. ^ "GLFW Programlama Dili Bağlayıcıları". 17 Haziran 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Mart 2014.