Libreria multimediale semplice e veloce

Libreria multimediale semplice e veloce

logo
Dati di base

sviluppatore Laurent Gomila
Anno di pubblicazione 2007
Versione attuale  2.5.1
sistema operativo Windows , Linux , macOS
linguaggio di programmazione C ++
categoria Libreria di programmi
Licenza zlib / libpng
sfml-dev.org

Simple and Fast Multimedia Library ( SFML ; Tedesco: Simple and Fast Multimedia Library ) è un framework multimediale open source indipendente dalla piattaforma, orientato agli oggetti, disponibile con la licenza zlib / libpng . È scritto in C ++ e ha funzioni interne specifiche del sistema operativo e librerie esterne. Oltre a C ++, offre connessioni per i linguaggi di programmazione C , .NET ( C # , VB.NET , ...), Python , Ruby , OCaml , D e Java . SFML è stato sviluppato con l'intento di consentire la programmazione multimediale più user-friendly ed efficiente possibile con un alto livello di astrazione, da cui il nome della libreria.

Caratteristiche

SFML è suddiviso in diversi sotto-pacchetti che soddisfano diverse aree di responsabilità. Le caratteristiche importanti includono:

sistema
Core dell'API
  • Temporizzazione portatile
  • Thread e Mutex
  • Funzioni per la conversione tra Unicode e formati locali
Finestra
Creazione e gestione delle finestre indipendente dalla piattaforma
  • Contesto di rendering OpenGL per abilitare il disegno nella finestra
  • Gestione degli eventi e input in tempo reale da mouse, tastiera e joystick
Grafica
Interfaccia grafica 2D per OpenGL
  • Carica e salva formati di file immagine comuni (BMP, JPG, PNG, TGA, DDS, PSD)
  • Visualizzazione degli sprite sullo schermo
  • Traslazione, rotazione, specchiatura, ridimensionamento e colorazione degli oggetti di disegno
  • Rappresentazione dei caratteri (TrueType, OpenType, caratteri bitmap (FNT) e altri formati)
  • Primitive grafiche 2D come cerchi, linee, rettangoli
  • Classe di telecamera che consente una visualizzazione dinamica di un'area 2D
Audio
Supporto di effetti sonori e musica
  • Carica formati popolari come OGG, WAV, AIFF e alcuni altri
  • Interfaccia semplice per registrazioni audio
  • Streaming per file di grandi dimensioni
  • Suono 3D
Rete
Connessione di rete
  • Comunicazione tramite socket TCP e UDP
  • Facile trasferimento dei dati tramite pacchetti espandibili basati sul flusso
  • Classi per protocolli Internet HTTP e FTP

SFML è adatto principalmente per giochi e applicazioni multimediali. Poiché il framework per la grafica utilizza OpenGL , anche le applicazioni 3D possono essere basate su SFML. Ad esempio, puoi avere l'implementazione di finestre, eventi e suoni eseguita da SFML durante la modifica della grafica 3D direttamente in OpenGL. A seconda delle esigenze, i pacchetti parziali desiderati possono essere integrati individualmente, ad esempio il pacchetto di sistema è sufficiente per la programmazione parallela.

sviluppo

Image
Logo fino alla versione 1.6 inclusa

SFML è stato attivamente sviluppato da Laurent Gomila dal luglio 2007. La versione 2.0 è apparsa nell'aprile 2013, sostituendo la versione 1.6 da aprile 2010. Durante lo sviluppo di SFML 2, sono state apportate modifiche fondamentali al framework e sono state aggiunte numerose nuove funzionalità. La versione 2.1 è stata rilasciata nel luglio 2013, che corregge principalmente gli errori dalla versione 2.0; Non sono state apportate modifiche all'API importanti.

Con il rilascio della versione 2.2, il supporto per le piattaforme mobili Android e iOS è stato implementato in SFML.

Oltre a C ++, ci sono connessioni ufficiali a C e C # dallo sviluppatore stesso. Linguaggi di programmazione aggiuntivi sono offerti attraverso progetti di utenti SFML, in alcuni casi ci sono anche più connessioni per linguaggio di programmazione. Le associazioni per Java, D, Python, Ruby, OCaml, Go, Nimrod, Euphoria e Rust sono in fase di sviluppo. L'elenco completo può essere trovato sulla pagina sfml-dev.org sotto Bindings.

Nel giugno 2013 è stato pubblicato un primo libro su SFML, intitolato "SFML Game Development". Spiega come sviluppare un gioco 2D utilizzando la libreria SFML.

Guarda anche

link internet

Prove individuali

  1. Changelog ( inglese ) sfml-dev.org. Estratto il 30 ottobre 2019.