Eenvoudige en snelle multimediabibliotheek
| Eenvoudige en snelle multimediabibliotheek
| |
|---|---|
|
| |
| Basis data
| |
| ontwikkelaar | Laurent Gomila |
| Jaar van uitgave | 2007 |
| Huidige versie | 2.5.1 |
| besturingssysteem | Windows , Linux , macOS |
| programmeertaal | C ++ |
| categorie | Programmabibliotheek |
| Licentie | zlib / libpng |
| sfml-dev.org | |
Simple and Fast Multimedia Library ( SFML ; Duits: Simple and Fast Multimedia Library ) is een platformonafhankelijk, objectgeoriënteerd open source multimedia- framework dat beschikbaar is onder de zlib / libpng-licentie . Het is geschreven in C ++ en heeft intern toegang tot besturingssysteemspecifieke functies en externe bibliotheken. Naast C ++ biedt het verbindingen voor de programmeertalen C , .NET ( C # , VB.NET , ...), Python , Ruby , OCaml , D en Java . SFML is ontwikkeld met de bedoeling om de meest gebruiksvriendelijke en efficiënte multimediaprogrammering op een hoog abstractieniveau mogelijk te maken, vandaar de naam van de bibliotheek.
Kenmerken
SFML is onderverdeeld in verschillende deelpakketten die verschillende verantwoordelijkheidsgebieden vervullen. De belangrijkste kenmerken zijn:
- systeem
- Kern van de API
- Venster
- Platformonafhankelijke creatie en beheer van vensters
- OpenGL-renderingcontext om tekenen in het venster mogelijk te maken
- Gebeurtenisafhandeling en real-time invoer van muis, toetsenbord en joystick
- Afbeeldingen
- 2D grafische interface naar OpenGL
- Laden en opslaan van veelgebruikte afbeeldingsbestandsindelingen (BMP, JPG, PNG, TGA, DDS, PSD)
- Weergave van sprites op het scherm
- Vertalen, roteren, spiegelen, schalen en kleuren van tekenobjecten
- Weergave van lettertypen (TrueType, OpenType, bitmaplettertypen (FNT) en andere formaten)
- 2D grafische primitieven zoals cirkels, lijnen, rechthoeken
- Cameraklasse die een dynamische weergave van een 2D-gebied mogelijk maakt
- Audio
- Ondersteuning van geluidseffecten en muziek
- Laad populaire formaten zoals OGG, WAV, AIFF en nog een paar
- Eenvoudige interface voor audio-opnamen
- Streaming voor grote bestanden
- 3D-geluid
- Netwerk
- Netwerkverbinding
- Communicatie via TCP- en UDP-sockets
- Eenvoudige gegevensoverdracht via op stream gebaseerde uitbreidbare pakketten
- Klassen voor HTTP- en FTP-internetprotocollen
SFML is vooral geschikt voor games en multimediatoepassingen. Omdat het framework voor grafische afbeeldingen OpenGL gebruikt , kunnen 3D-toepassingen ook op SFML worden gebaseerd. U kunt bijvoorbeeld de implementatie van vensters, gebeurtenissen en geluiden laten doen door SFML terwijl u de 3D-afbeeldingen rechtstreeks in OpenGL bewerkt. Afhankelijk van de eisen kunnen de gewenste deelpakketten afzonderlijk worden geïntegreerd, het systeempakket is bijvoorbeeld voldoende voor parallelle programmering.
ontwikkeling
SFML wordt sinds juli 2007 actief ontwikkeld door Laurent Gomila. Versie 2.0 verscheen in april 2013 en verving versie 1.6 uit april 2010. Tijdens de ontwikkeling van SFML 2 zijn er fundamentele wijzigingen aangebracht in het framework en is een groot aantal nieuwe features toegevoegd. Versie 2.1 werd uitgebracht in juli 2013, die voornamelijk fouten herstelt van versie 2.0; Er waren geen grote API-wijzigingen.
Met de release van versie 2.2 werd ondersteuning voor de mobiele platforms Android en iOS geïmplementeerd in SFML.
Naast C ++ zijn er officiële koppelingen met C en C # door de ontwikkelaar zelf.Extra programmeertalen worden via projecten aangeboden door SFML-gebruikers, in sommige gevallen zijn er ook meerdere koppelingen per programmeertaal. Bindingen voor Java, D, Python, Ruby, OCaml, Go, Nimrod, Euphoria en Rust worden actief ontwikkeld. De volledige lijst is te vinden op de sfml-dev.org-pagina onder Bindingen.
In juni 2013 verscheen een eerste boek over SFML, getiteld "SFML Game Development". Het legt uit hoe je een 2D-game kunt ontwikkelen met behulp van de SFML-bibliotheek.
Zie ook
web links
- Officiële SFML-website (Engels)
- Bindingen
- Duits SFML-portaal met forum
- Github-project door SFML
- Boek "SFML Game Development"