Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 03/12/2020, 18:15]
Amiralgaby [modif de la page] restructuration de la page
sfml [Le 15/12/2020, 09:59]
Amiralgaby [AJOUT] du titre, je l'avais enlevé :(
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 et Python. 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, RubyPython ​([[https://​www.sfml-dev.org/​download/​bindings.php|voir les 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. 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. 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+[[http://​www.sfml-dev.org/​index-fr.php|lien vers le site officiel]] de la bibliothèque (Français/​Anglais) :
 Vous y trouverez documentation,​ tutoriels et forums Vous y trouverez documentation,​ tutoriels et forums
  
Ligne 19: Ligne 19:
 La division en modules permet à chacun de n'​utiliser que ce dont il a besoin. 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 même mixer les rendus SFML/​OpenGL.+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.
  
  
Ligne 25: Ligne 25:
 ==== Depuis les dépôts ==== ==== Depuis les dépôts ====
  
-SFML est disponible dans les dépôts Ubuntu dans sa version 2.5, dans les paquets libsfml-*.+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 : Installez le paquet **[[apt>​libsfml-dev]]** ou tapez dans un terminal la commande suivante :
Ligne 33: Ligne 33:
 ==== 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 39: 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|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 59: 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 65: 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 85: Ligne 85:
 Si vous souhaitez profiter de la SFML en [[:​pyhton|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 [[:​pyhton|Python]],​ vous devrez installer le binding Python, et ce après avoir installé bien sûr la bibliothèque C++ originale.
  
-Voyez pour cela le tutoriel : http://​www.sfml-dev.org/​tutorials/​1.6/​start-python.php (un peu dépassé)+Voyez pour cela [[http://​www.sfml-dev.org/​tutorials/​1.6/​start-python.php|le tutoriel]] ​(un peu dépassé)
  
 <code bash> <code bash>
  • sfml.txt
  • Dernière modification: Le 14/06/2021, 16:34
  • par Amiralgaby