SFML'nin Özellikleri

SFML de nedir? Neden kullanayım ki?
SFML, taşınabilir, kullanımı kolay ve C++ ile yazılmış bir uygulama programlama arayüzüdür. SFML'yi SDL'nin modern ve nesneye yönelik bir alternatifi olarak görebilirsiniz.

SFML, tüm ihtiyaçlarınızı karşılayacak birkaç paketin birleşiminden oluşmaktadır. SFML'yi sadece OpenGL'e arayüzlük yapacak bir pencereleme sistemi olarak kullanabileceğiniz gibi oyunlar veya interaktif uyggulamalar gerçekleştirebileceğiniz tam teşekküllü bir çokluortam kütüphanesi olarak da kullanabilirsiniz.


Temel Özellikler

  • Taşınabilir: SFML, Windows (98, 2000, XP, Vista) ve Unix (Linux, Mac OS X) gibi yaygın pek çok platform üzerinde çalışır. Kütüphanenin gelişimine paralel olarak daha fazla işletim sistemi desteklenmeye başlayacak.
  • Nesneye Yönelik: SFML, C++ ile yazılmıştır ve etkili ve nesneye yönelik bir tasarım sunmaktadır. SFML, basit ve güçlü bir çatı sunan standart modellere ve deyimlere dayanmaktadır.
  • Kullanımı Kolay: SFML, kolayca işlenebilmeyi amaçlamaktadır.
  • Esneklik: SFML, tek büyük bir UPA olmak yerine pek çok küçük paketten oluşmaktadır. Böylece istenilen kullanıma göre bu küçük paketler seçilebilir ve birlikte kullanılabilir. Girdileri kontrol etmek için ve pencereleme için sadece temel paketi kullanabileceğiniz gibi bağımsız görüntüler ve efektler için grafik paketini de projenize dahil edebilirsiniz.
  • Kolayca bütünleştirilebilir: SFML, bir veya daha fazla pencere için kullanılabilir veya varolan arayüz bileşenleriyle bütünleştirilebilir. Diğer grafik kullanıcı arayüzü (GUI) kütüphaneleriyle de bütünleştirme çok kolaydır, böylece zorlanmadan QtwxWidgets, MFC vb. ile gelişmiş arayüzler oluşturabilirsiniz.



Diller
SFML, pek çok dille birlikte kullanılabilir:

  • C++
  • C
  • .Net (C#, VB.Net, C++/CLI, ...)
  • Python
  • D
  • Ruby



System (Sistem)

  • Taşınabilir ve hatasız zaman ölçümü
  • Basit ve nesneye yönelik iş parçacıkları ve kardışlar (karşılıklı dışlama, mutual exclusion, mutex)
  • UTF ve yerel kodlamalar arasında dönüşüm için Unicode modülü



Window (Pencere)

  • OpenGL için pencereleme ve girdi almak için GLUT veya SDL yerine kullanılabilecek minimal ve taşınabilir bir paket
  • Birden fazla tarama penceresi oluşturabilme
  • Qt / MFC / wxWidgets / Win32 / X11 / ... gibi varolan arayüzlerle bütünleşik kullanılabilme
  • Girdiler için mesaj tabanlı ve gerçek zamanlı iki arayüz
  • 5 tuşluya kadar fare desteği
  • 7 eksene ve 32 tuşa kadar 4 tane oyun çubuğu desteği



Graphics (Grafik)

  • Kolay OpenGL kullanımı
  • Donanım hızlandırmalı modern efektler: alfa-harmanlama, döndürme, gölge, ...
  • Etkili bellek yönetimi, böylece kaynakların ömürleri ve saklanmaları hakkında endişelenmenize gerek kalmaz. İsterseniz pencereler oluşturulmadan hemen önce bile yükleyebilirsiniz grafik kaynakları.
  • Temel resim dosyaları yüklenebilir ve kaydedilebilir: BMP, DDS, JPG, PNG, TGA, PSD
  • Ttüm dünayayı yakınlaştırmak, dönüştürmek ve çevirmek için 3B sahnelerdekine benzer görüş alanları
  • Gerçek zamanlı efektler için basitleştirilmiş shader dili
  • Nokta esaslı (bitmap) yazı tipleriyle grafiksel metinleri kolayca işleme
  • Unicode karakter desteği
  • Standart yazı tipi biçimlerini yükleme: TTF, CFF, PCF, FNT, BDF, PTR, SFNT, Type 1, Type 42



Audio (Ses)

  • Donanım hızlandırması kullanabilme
  • Temel ses biçimlerini yükleme ve kaydetme: OGG, WAV, FLAC, AIFF, AU, RAW, PAF, SVX, NIST, VOC, IRCAM, W64, MAT4, MAT5 PVF, HTK, SDS, AVR, SD2, CAF, WVE, MPC2K, RF64
  • 3B ses özelleştirmeleri
  • Ses kayıt için basit arabirim
  • Büyük dosya akış desteği, ağ vb. herhangi bir kaynaktan akış için kendi özel sınıflarınızı da yazabilirsiniz
  • Çok kanallı biçimler için destek (mono, stereo, 4.0, 5.1, 6.1, 7.1)



Network (Ağ)

  • TCP ve UDP soketleri üzerinden taşınabilir bir katman
  • Akış tabanlı genişletilebilir paketlerle kolay veri transferi
  • HTTP ve FTP internet protokollerini kullanmak için sınıflar



Kaynak: SFML Features