Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sfml [Le 14/06/2021, 16:34] Amiralgaby [Installez le Binding Python] amélioration |
sfml [Le 11/09/2022, 11:51] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>programmation multimédia BROUILLON}} | {{tag>programmation multimédia BROUILLON}} | ||
====== SFML : Simple and Fast Multimedia Library====== | ====== SFML : Simple and Fast Multimedia Library====== | ||
- | **SFML** (Simple and Fast Multimedia Library) est une API Multimedia 2D, créée à l'origine en C++, et maintenant également disponible en C, Ruby, Python ([[https://www.sfml-dev.org/download/bindings.php|voir les autres bindings]]). Elle est apparue en Juillet 2007. | + | **SFML** (Simple and Fast Multimedia Library) est une API Multimedia 2D, créée à l’origine en C++, et maintenant également disponible en C, Ruby, Python – voir également les [[https://www.sfml-dev.org/download/bindings.php|autres bindings]]. 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|SDL]] (et bien d'autres), tout en proposant des performances largement supérieures, grâce à l'utilisation d'[[:opengl|OpenGL]] (accélération matérielle). Elle est distribuée sous la licence zlib/png. | + | |
- | Un de ses avantages est d'être multiplateforme. | + | |
- | [[http://www.sfml-dev.org/index-fr.php|lien vers le site officiel]] de la bibliothèque (Français/Anglais) : | + | 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|SDL]] (et bien d’autres), tout en proposant des performances largement supérieures, grâce à l’utilisation d’[[:opengl|OpenGL]] (accélération matérielle). Elle est distribuée sous la licence //zlib/png//. Un de ses avantages est d’être multiplateforme. |
- | Vous y trouverez documentation, tutoriels et forums | + | |
- | ===== Structure ===== | + | Site web officiel, en français et en anglais : [[https://www.sfml-dev.org/index-fr.php|sfml-dev.org]] (lien visité le 24/01/2022). |
+ | Vous y trouverez documentation, tutoriels et forums. | ||
- | La SFML se divise en 5 modules : | + | ===== Structure ===== |
- | * **System**: Base de la bibliothèque, 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. | + | La SFML est divisée en 5 modules : |
+ | * **System** : base de la bibliothèque, 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. | ||
- | D'un point de vue graphique, SFML utilise [[:opengl|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. | + | La division en modules permet à chacun de n’utiliser que ce dont il a besoin. |
+ | D’un point de vue graphique, SFML utilise [[:opengl|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 mixer les rendus SFML/OpenGL. | ||
===== Installation de la SFML ===== | ===== Installation de la SFML ===== | ||
Ligne 57: | Ligne 56: | ||
{{https://dl.dropboxusercontent.com/u/28570337/tuto_ubuntu/img2.png}} | {{https://dl.dropboxusercontent.com/u/28570337/tuto_ubuntu/img2.png}} | ||
- | Sur la fenêtre qui apparaît, laissez les options par défaut et cliquez sur Finish. Cmake vérifie que vous avez toutes les dépendances nécessaires à la compilation de SFML. Si tout se passe bien, le message "Configuratig done." s'affiche en bas de la fenêtre, et des lignes apparaissent sur fond rouge comme dans la capture d'écran ci-dessous. | + | Sur la fenêtre qui apparaît, laissez les options par défaut et cliquez sur Finish. Cmake vérifie que vous avez toutes les dépendances nécessaires à la compilation de SFML. Si tout se passe bien, le message "Configuratig done." s'affiche en bas de la fenêtre, et des lignes apparaissent sur fond rouge comme dans la capture d'écran ci-dessous. |
<note important>Si quelque chose s'est mal passé, c'est qu'il vous manque quelque chose, réinstallez les librairies (commande plus haut) ou référez-vous au [[https://www.sfml-dev.org/tutorials/2.5/compile-with-cmake-fr.php|tutoriel officiel]] du site SFML.</note> | <note important>Si quelque chose s'est mal passé, c'est qu'il vous manque quelque chose, réinstallez les librairies (commande plus haut) ou référez-vous au [[https://www.sfml-dev.org/tutorials/2.5/compile-with-cmake-fr.php|tutoriel officiel]] du site SFML.</note> | ||
Ligne 71: | Ligne 70: | ||
sudo make install</code> | sudo make install</code> | ||
- | Et voilà, la SFML est normalement installée ! | + | Et voilà, la SFML est normalement installée ! |
<note important>Mais il reste encore une chose à faire dans certains cas. En effet, après avoir compilé mon programme SFML (ou essayé d'exécuter les exemples), j'ai eu l'erreur suivante : "error while loading shared libraries: libsfml-graphics.so.2: cannot open shared object file: No such file or directory" que ce soit sur système 32 ou 64 bits. | <note important>Mais il reste encore une chose à faire dans certains cas. En effet, après avoir compilé mon programme SFML (ou essayé d'exécuter les exemples), j'ai eu l'erreur suivante : "error while loading shared libraries: libsfml-graphics.so.2: cannot open shared object file: No such file or directory" que ce soit sur système 32 ou 64 bits. | ||
Ligne 85: | Ligne 84: | ||
Si vous souhaitez profiter de la SFML en [[:python|Python]], vous devrez installer le binding Python, et ce après avoir installé bien sûr la bibliothèque C++ originale. | Si vous souhaitez profiter de la SFML en [[:python|Python]], vous devrez installer le binding Python, et ce après avoir installé bien sûr la bibliothèque C++ originale. | ||
- | Voyez pour cela [[http://www.sfml-dev.org/tutorials/1.6/start-python.php|le tutoriel]] (un peu dépassé)\\ | + | Voyez pour cela [[https://www.sfml-dev.org/tutorials/1.6/start-python.php|le tutoriel]] (un peu dépassé) |
sudo apt-get install libxcb-image0 libxcb-image0-dev | sudo apt-get install libxcb-image0 libxcb-image0-dev |