Simple and Fast Multimedia Library

Simple and Fast Multimedia Library ( SFML, German and fast multimedia library ) is a platform-independent, object-oriented open-source multimedia framework, which is under the zlib / libpng license. It is written in C and uses internally back to operating system-specific functions and external libraries. In addition to C , it provides bindings for the programming languages ​​C, . NET (C #, VB.NET, ... ), Python, Ruby, OCaml, D and Java. SFML has been designed with the intention to allow as user- friendly and efficient multimedia programming at a high abstraction level, hence the name of the library.

Features

SFML is divided into several sub-packets, perform different tasks. The key features include:

  • Portable measurement of time
  • Threads and mutexes
  • Functions to convert between Unicode and local formats
  • OpenGL rendering context, to allow drawing of the window
  • Event handling and real-time input from mouse, keyboard and joystick
  • Loading and saving of popular image file formats (BMP, JPG, PNG, TGA, DDS, PSD)
  • Representation of sprites on the screen
  • Translation, rotation, mirroring, scaling and coloring of drawing objects
  • Appearance of fonts (TrueType, OpenType, Bitmap fonts ( FNT), and other formats )
  • 2D graphics primitives such as circles, lines, rectangles
  • Camera class that allows a dynamic view to a 2D area
  • Loading of popular formats such as OGG, WAV, AIFF, and some more
  • Simple interface for audio recording
  • Streaming for large files
  • 3D-Sound
  • Communication over TCP and UDP sockets
  • Easy data transfer through stream-based extensible packages
  • Classes for HTTP and FTP Internet protocols

SFML is mainly suitable for games and multimedia applications. Since the Framework for the graphics relies on OpenGL and 3D applications on SFML can be based. For example, you can be in this way the implementation of the window, events and sounds of SFML decrease, while the 3D graphics are edited directly in OpenGL. For example, depending on the requirements, the desired partial packages can be integrated individually, extends the system package for parallel programming.

Development

SFML is actively developed in July 2007 by Laurent Gomila. In April 2013, version 2.0 was released the version 1.6 replaced by April 2010. During the development of SFML 2 fundamental changes to the framework were made and added a number of new features. In July 2013 Version 2.1 was released, which fixes mainly errors from version 2.0; major API changes, there were none.

The next big step in SFML support mobile platforms like Android and iOS is planned, first amendments thereto are provided for version 2.2. About github you can already see the current state of development and download (see links).

In addition to C , there are official links to C and C # by the developer itself more programming languages ​​are offered through projects of SFML users, partly also exist several connections per programming language. Be actively developed bindings for Java, D, Python, Ruby, OCaml, Go, Nimrod, Euphoria and Rust. The complete list can be viewed here.

In June 2013, a first book about SFML entitled " SFML Game Development " was published. It explains the development of a 2D game using the SFML library.

725310
de