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 Dernière révision Les deux révisions suivantes | ||
sfml [Le 11/03/2016, 13:09] q7frkz [Installation de la SFML] |
sfml [Le 24/01/2022, 15:29] lyondif02 [Structure] typo. |
||
---|---|---|---|
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) 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. |
- | ===== Simple and Fast Multimedia Library ===== | + | 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. | ||
- | 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. | + | ===== Structure ===== |
- | 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 bibliothèque (Français/Anglais) : http://www.sfml-dev.org/index-fr.php | + | La SFML est divisée en 5 modules : |
- | Vous y trouverez documentation, tutoriels et forums | + | * **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. | ||
- | ==== Fonctionnement ==== | + | La division en modules permet à chacun de n’utiliser que ce dont il a besoin. |
- | La SFML se divise en 5 modules : | + | 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. |
- | * **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. | + | ===== Installation de la SFML ===== |
+ | ==== Depuis les dépôts ==== | ||
- | 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. | + | SFML est disponible dans les dépôts Ubuntu dans sa version 2.5.1, dans les paquets libsfml-*. |
- | + | Installez le paquet **[[apt>libsfml-dev]]** ou tapez dans un terminal la commande suivante : | |
- | ==== Installation de la SFML ==== | + | |
- | === Depuis les dépôts === | + | |
- | + | ||
- | SFML est disponible dans les dépôts Ubuntu dans sa version 2.1, dans les paquets libsfml-*. Il vous suffit donc de faire la commande suivante pour installer SFML dans sa version 2.1 sur Ubuntu : | + | |
<code>sudo apt-get install libsfml-dev</code> | <code>sudo apt-get install libsfml-dev</code> | ||
- | === Depuis les sources === | + | ==== Depuis les sources ==== |
- | Pour compiler et installer SFML depuis le code source, on peut suivre le tutoriel de Laurent Gomila à l'adresse suivante : [[http://sfml-dev.org/tutorials/2.1/compile-with-cmake-fr.php|Compiler SFML avec CMake]]. Je vais suivre ce tutoriel et vous indiquer ce qu'il faut faire pour Ubuntu. | + | Pour compiler et installer SFML depuis le code source, on peut suivre le tutoriel de Laurent Gomila à l'adresse suivante : [[http://sfml-dev.org/tutorials/2.5/compile-with-cmake-fr.php|Compiler SFML avec CMake]]. Je vais suivre ce tutoriel et vous indiquer ce qu'il faut faire pour Ubuntu. |
Tout d'abord, il vous faudra certains paquets, car SFML dépend de certaines bibliothèques. | Tout d'abord, il vous faudra certains paquets, car SFML dépend de certaines bibliothèques. | ||
Ligne 41: | Ligne 39: | ||
<code>sudo apt-get install g++ build-essential libpthread-stubs0-dev libgl1-mesa-dev libx11-dev libxrandr-dev libfreetype6-dev libglew-dev libjpeg-dev libsndfile1-dev libopenal-dev</code> | <code>sudo apt-get install g++ build-essential libpthread-stubs0-dev libgl1-mesa-dev libx11-dev libxrandr-dev libfreetype6-dev libglew-dev libjpeg-dev libsndfile1-dev libopenal-dev</code> | ||
- | Ensuite, téléchargez les sources depuis la page de téléchargements de SFML, voici le lien direct vers les sources de la version 2.1 : | + | Ensuite, téléchargez les sources depuis la page de téléchargements de SFML, voici le lien direct vers les sources de la version 2.5.1 : |
- | [[http://sfml-dev.org/download/sfml/2.1/SFML-2.1-sources.zip|Sources de SFML 2.1]] | + | [[https://www.sfml-dev.org/download/sfml/2.5.1/index-fr.php|Sources de SFML 2.5.1]] |
Si la version a changé depuis, vous pouvez aller sur la page générale des téléchargements pour trouver les nouvelles sources (en bas de la page de la dernière version stable) : http://sfml-dev.org/download-fr.php | Si la version a changé depuis, vous pouvez aller sur la page générale des téléchargements pour trouver les nouvelles sources (en bas de la page de la dernière version stable) : http://sfml-dev.org/download-fr.php | ||
- | Une fois le code source téléchargé, dézippez l'archive dans votre dossier home (chemin : /home/votreNom/) par exemple. Vous devez avoir un fichier CMakeLists.txt accessible via le chemin /home/votreNom/SFML-x.x/CMakeLists.txt avec SFMLx.x votre version de SFML (SFML-2.1 dans mon cas). | + | Une fois le code source téléchargé, dézippez l'archive dans votre dossier home (chemin : **/home/votreNom/**) par exemple. Vous devez avoir un fichier CMakeLists.txt accessible via le chemin **/home/votreNom/SFML-x.x/CMakeLists.txt** avec SFMLx.x votre version de SFML. |
- | Installez cmake avec la version graphique cmake-gui, qui vous permettra de générer des makefile correspondant à votre système avec les sources de SFML : | + | Installez [[:cmake|cmake]] avec la version graphique cmake-gui, qui vous permettra de générer des makefile correspondant à votre système avec les sources de SFML : |
<code>sudo apt-get install cmake-gui</code> | <code>sudo apt-get install cmake-gui</code> | ||
Ligne 61: | Ligne 59: | ||
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 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> |
{{https://dl.dropboxusercontent.com/u/28570337/tuto_ubuntu/img3.png}} | {{https://dl.dropboxusercontent.com/u/28570337/tuto_ubuntu/img3.png}} | ||
Ligne 67: | Ligne 65: | ||
Pour ma part, j'ai laissé les options par défaut, vous avez les détails de ces options sur le tutoriel officiel du site SFML. Recliquez sur "Configure", le fond des lignes passe alors en blanc. Pour générer les makefile, cliquez maintenant sur "Generate". Une fois que le message "Generating done" apparaît, vous pouvez fermer cmake-gui : les makefile sont générés. | Pour ma part, j'ai laissé les options par défaut, vous avez les détails de ces options sur le tutoriel officiel du site SFML. Recliquez sur "Configure", le fond des lignes passe alors en blanc. Pour générer les makefile, cliquez maintenant sur "Generate". Une fois que le message "Generating done" apparaît, vous pouvez fermer cmake-gui : les makefile sont générés. | ||
- | Pour effectuer l'installation de SFML, allez dans le dossier où vous avez généré les fichiers, et effectuez les commandes "make" puis "sudo make install" (le sudo nécessite votre mot de passe). Pour ma part, voici les commandes que j'exécute : | + | Pour effectuer l'installation de SFML, allez dans le dossier où vous avez généré les fichiers, et effectuez les commandes "make" puis "sudo make install" (le [[:sudo|sudo]] nécessite votre mot de passe). Pour ma part, voici les commandes que j'exécute : |
<code>cd /home/valentin/sfml-dev | <code>cd /home/valentin/sfml-dev | ||
Ligne 83: | Ligne 81: | ||
ldconfig</code></note> | ldconfig</code></note> | ||
- | === Binding Python === | + | ==== Installez le Binding Python ==== |
+ | |||
+ | 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 [[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 libudev-dev | ||
+ | |||
+ | Ces deux entrées vous seront utiles pour que cmake parviennent a s'installer sans soucis. FIXME (à vérifier) | ||
- | 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 bibliothèque C++ originale. | + | ===== Programmer ===== |
- | Voyez pour cela le tutoriel : http://www.sfml-dev.org/tutorials/1.6/start-python.php | + | |
- | --------------------------- | + | Un cours [[https://www.sfml-dev.org/tutorials/2.5/start-linux.php|tutoriel sur la page officiel]] pour débuter, à traduire. |
- | Je me permets une légère modification de la page, pour les possesseurs de Lubuntu : | + | ===== Désinstallation ===== |
- | sudo apt-get install libxcb-image0 libxcb-image0-dev | + | |
- | sudo apt-get install libudev-dev | + | |
- | ces deux entrées vous seront utiles pour que cmake parviennent a installer sans soucis. | + | Supprimer les paquets que vous avez installé en souhaitant l'utiliser. |
- | je laisse le droit au professionel de ubuntu de modifier mon post mal fait avec bien plus d'info et de détails ... :) | + | [[tutoriel:comment_supprimer_un_paquet|Comment supprimer un paquet ?]] |
- | merci | + |