Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !



SFML est une API Multimedia 2D, créée à l'origine en C++, et maintenant également disponible en C, Ruby et Python. Elle est apparue en Juillet 2007. Elle est orientée objet et fournit un accès bas niveau et haut niveau aux graphismes, aux évènements, à l'audio, etc. Elle rassemble toutes les fonctionnalités de la SDL (et bien d'autres), tout en proposant des performances largement supérieures, grâce à l'utilisation d'OpenGL (accélération matérielle). Elle est distribuée sous la licence zlib/png. Un de ses avantages est d'être multiplateforme.

Site officiel de la librairie (Français/Anglais) : http://www.sfml-dev.org/index-fr.php Vous y trouverez documentation, tutoriels et forums

Fonctionnement

La SFML se divise en 5 modules :

  • System: Base de la librairie, et multi-threading
  • Window: Fenêtrage
  • Graphics: Gestion de la 2D (sprites, chaînes de caractères affichables, effets…)
  • Audio: Gestion du son
  • Network: Gestion du réseau

La division en modules permet à chacun de n'utiliser que ce dont il a besoin.

D'un point de vue graphique, SFML utilise OpenGL en interne, ainsi vous pouvez sans aucun problème et encore plus simplement qu'avec la SDL (pas d'initialisation nécessaire) utiliser vos propres appels OpenGL, voire même mixer les rendus SFML/OpenGL.

Installation

SFML n'étant pas encore disponible dans quelque dépôt que ce soit, deux voies s'ouvrent à vous : soit télécharger simplement le SDK de la dernière version en date (http://www.sfml-dev.org/download-fr.php), soit récupérer les sources depuis le dépôt SVN et les compiler vous-même (c'est cette option que je recommande, du moins en C++)

Voici comment compiler soi-même la librairie: Tout d'abord, vous aurez besoin d'un client SVN. Pour ce faire, installez le paquet subversion: apt://subversion

Le site n'est désormais plus hébergé sur SourceForge et possède son propre nom de domaine (sfml-dev.org). Néanmoins, le serveur SVN de SourceForge est toujours utilisé pour le développement.

Ensuite, depuis un terminal:

svn co https://sfml.svn.sourceforge.net/svnroot/sfml sfml

Ce qui aura pour effet de placer dans le répertoire courant un dossier nommé sfml, et d'y télécharger les sources et les exemples de la librairie, tous langages confondus.

Avant de compiler, il vous faudra certains paquets, car SFML dépend de certaines librairies. De plus et bien évidemment, g++ aura du être au préalable installé. Depuis un terminal, récupérez ces paquets ainsi:

sudo apt-get install build-essential libgl1-mesa-dev libglew1.5-dev libxrandr-dev libsndfile1-dev libopenal-dev libpng12-dev libfreetype6-dev

Ceci fait, allez dans le répertoire "sfml" créé par SVN :

cd sfml

et compilez en faisant:

make sfml
Snapshot du 20 mai 2008 : Si vous avez une erreur à propos de SFML/Window/glew/glew.h, commentez simplement la ligne 65 du fichier src/SFML/Graphics/GLEW/glxew.h

Puis, vous n'avez plus qu'à installer le tout:

sudo make install

Attention cependant aux droits d'accès ! Les librairies ayant été installées en "sudo", vous devrez modifier leurs droits d'accès (autoriser la lecture/exécution) si vous voulez les utiliser par la suite sans être en "sudo":

sudo chmod -R 755 /usr/include/SFML
sudo chmod 755 /usr/lib/libsfml*

Pour finir, supprimez les fichiers temporaires de la compilation:

make clean

Plutôt simple, n'est-ce pas ?

Binding Python

Si vous souhaitez profiter de la SFML en Python, vous devrez installer le binding Python, et ce après avoir installé bien sûr la librairie C++ originale. Voyez pour cela le tutoriel : http://www.sfml-dev.org/tutorials/start-python-fr.php

  • sfml.1243337646.txt.gz
  • Dernière modification: Le 26/05/2009, 13:34
  • par 213.95.41.13