Libreria multimediale semplice e veloce
| Libreria multimediale semplice e veloce
| |
|---|---|
|
| |
| 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
- 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
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
- Sito web ufficiale SFML (inglese)
- Binding
- Portale tedesco SFML con forum
- Progetto Github di SFML
- Libro "Sviluppo di giochi SFML"