İçeriğe atla

GLFW

Vikipedi, özgür ansiklopedi
GLFW
Geliştirici(ler)GLFW geliştirici takımı
Güncel sürüm3.2.1 / 18 Ağustos 2016
Geliştirme durumuAktif
İşletim sistemiWindows, Mac OS X, Linux
TürYazılım Kütüphanesi
Lisanszlib/libpng
Resmî sitesiwww.glfw.org
Kod deposu Bunu Vikiveri'de düzenleyin

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.

Yazılım mimarisi

[değiştir | kaynağı değiştir]

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 dilleri

[değiştir | kaynağı değiştir]

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]

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

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