Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 521cebf

Browse files
authored
Merge pull request #199 from Krenodeno/patch-6
Update french translation of setup chapter
2 parents 31ffdb0 + 3100757 commit 521cebf

1 file changed

Lines changed: 35 additions & 113 deletions

File tree

fr/02_Environnement_de_développement.md

Lines changed: 35 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -178,53 +178,20 @@ Si le nombre d'extensions est nul, il y a un problème avec la configuration de
178178
## Linux
179179

180180
Ces instructions sont conçues pour les utilisateurs d'Ubuntu, mais vous devriez pouvoir suivre ces instructions depuis
181-
une autre distribution si vous recompilez vous-même le SDK et adaptez les commandes "apt" à votre propre gestionnaire de
182-
packages. Il vous faut un compilateur qui supporte C++17 (GCC 7+ ou Clang 5+). Vous aurez également besoin de make et de CMake.
181+
une autre distribution si vous adaptez les commandes "apt" à votre propre gestionnaire de
182+
packages. Il vous faut un compilateur qui supporte C++17 (GCC 7+ ou Clang 5+). Vous aurez également besoin de make.
183183

184-
### Le SDK Vulkan
185-
186-
Le composant central au développement d'application Vulkan est le SDK. Il inclut les headers, les validation layers
187-
standards, des outils de débogage et un loader pour les fonctions Vulkan. Ce loader récupère les fonctions dans le
188-
driver à l'exécution, comme GLEW pour OpenGL, si cela vous parle.
189-
190-
Le SDK peut être téléchargé sur [le site LunarG](https://vulkan.lunarg.com/) en utilisant les boutons en bas de page.
191-
Vous n'avez pas besoin de compte, mais celui-ci vous donne accès à une documentation supplémentaire qui pourra vous être
192-
utile.
193-
194-
![](/images/vulkan_sdk_download_buttons.png)
195-
196-
Ouvrez un terminal dans le dossier où vous avez téléchargé l'archive en ".tar.gz" et extrayez-là :
197-
198-
```bash
199-
tar -xzf vulkansdk-linux-x86_64-xxx.tar.gz
200-
```
201-
202-
Cela extraira tous les fichiers dans un sous-dossier dont le nom est celui de la version du SDK. Placez le dossier où
203-
vous le désirez. Ouvrez-y un terminal. Vous devriez être là où sont présents les fichier comme "build_examples.sh".
204-
205-
Les exemples dans le SDK et l'une des libraries dont nous aurons besoin dépendent de la librairie XCB. C'est une
206-
librairie écrite en C utilisée pour communiquer avec le gestionnaire de fenêtres X. Elle s'installe à l'aide du package
207-
"libxcb1-dev" sous Ubuntu. Vous aurez également besoin de fichiers de développement X présents dans le package
208-
"xorg-dev".
184+
### Paquets Vulkan
209185

210-
```bash
211-
sudo apt install libxcb1-dev xorg-dev
212-
```
186+
Les composants les plus importants pour le développement d'applications Vulkan sous Linux sont le loader Vulkan, les validation layers et quelques utilitaires pour tester que votre machine est bien en état de faire fonctionner une application Vulkan:
187+
* `sudo apt install vulkan-tools`: Les utilitaires en ligne de commande, plus précisément `vulkaninfo` et `vkcube`. Lancez ceux-ci pour vérifier le bon fonctionnement de votre machine pour Vulkan.
188+
* `sudo apt install libvulkan-dev`: Installe le loader Vulkan. Il sert à aller chercher les fonctions aurpès du driver de votre GPU au runtime, de la même façon que GLEW le fait pour OpenGL - si vous êtes familiez avec ceci.
189+
* `sudo apt install vulkan-validationlayers-dev`: Installe les layers de validation standards. Ceux-ci sont cruciaux pour débugger vos applications Vulkan, et nous en reparlerons dans un prochain chapitre.
213190

214-
Compilez les exemples Vulkan ainsi :
215-
216-
```bash
217-
./build_examples.sh
218-
```
219-
220-
Si la compilation a réussi, vous avez normalement un exécutable "./examples/build/vkcube". Lancez-le depuis le
221-
dossier "examples/build" avec la commande "./vkcube" et assurez-vous que vous obtenez la fenêtre suivante :
191+
Si l'installation est un succès, vous devriez être prêt pour la partie Vulkan. N'oubliez pas de lancer `vkcube` et assurez-vous de voir la fenêtre suivante:
222192

223193
![](/images/cube_demo_nowindow.png)
224194

225-
Si vous recevez un message d'erreur, assurez-vous que vos drivers sont à jour, incluent Vulkan et que votre carte
226-
graphique est supportée. Référez-vous au [chapitre introductif](!fr/Introduction) pour les liens aux vendeurs principaux.
227-
228195
### GLFW
229196

230197
Comme dit précédemment, Vulkan ignore la plateforme sur laquelle il opère, et n'inclut pas d'outil de création
@@ -233,22 +200,9 @@ Vulkan, nous utiliserons la [librairie GLFW](http://www.glfw.org/) pour créer u
233200
ou MacOS indifféremment. Il existe d'autres librairies telles que [SDL](https://www.libsdl.org/), mais GLFW à
234201
l'avantage d'abstraire d'autres aspects spécifiques à la plateforme requis par Vulkan.
235202

236-
Nous allons installer GLFW à partir des sources, car Vulkan nécessite une version récente. Vous pouvez trouver ces
237-
sources sur le [site officiel](http://www.glfw.org/). Extrayez les sources où vous voulez et ouvrez un terminal dans le
238-
dossier extrait, où se trouve le fichier "CMakeLists.txt".
239-
240-
Exécutez les commandes suivantes afin de générer un makefile et de compiler GLFW :
241-
203+
Nous allons installer GLFW à l'aide de la commande suivante:
242204
```bash
243-
cmake .
244-
make
245-
```
246-
247-
Si vous rencontrez le message "Could NOT find Vulkan", ignorez-le. Si la compilation a fonctionné, vous pouvez installer
248-
GLFW sur votre système en exécutant :
249-
250-
```bash
251-
sudo make install
205+
sudo apt install libglfw3-dev
252206
```
253207

254208
### GLM
@@ -263,6 +217,18 @@ Cette librairie contenue intégralement dans les headers peut être installée d
263217
sudo apt install libglm-dev
264218
```
265219

220+
### Compilateur de shader
221+
222+
Nous avons tout ce qu'il nous faut, excepté un programme qui compile le code [GLSL](https://en.wikipedia.org/wiki/OpenGL_Shading_Language) lisible par un humain en bytecode.
223+
224+
Deux compilateurs de shader populaires sont `glslangValidator` de Khronos et `glslc` de Google. Ce dernier a l'avantage d'être proche de GCC et Clang à l'usage,.
225+
Pour cette raison, nous l'utliliserons: téléchargez les exécutables [non officiels](https://github.com/google/shaderc/blob/main/downloads.md) et copiez `glslc` dans votre répertoire `/usr/local.bin`. Notez que vous aurez certainement besoin d'utiliser `sudo` en fonctions de vos permissions.
226+
Pour tester, lancer `glslc` depuis le répertoire de votre choix et il devrait se plaindre qu'il n'a reçu aucun shader à compiler de votre part:
227+
228+
`glslc: error: no input files`
229+
230+
Nous couvrirons l'usage de `glslc` plus en détails dans le chapitre des [modules shaders](!fr/03_Dessiner_un_triangle/02_Pipeline_graphique_basique/01_Modules_shaders.md)
231+
266232
### Préparation d'un fichier makefile
267233

268234
Maintenant que vous avez installé toutes les dépendances, nous pouvons préparer un makefile basique pour Vulkan et
@@ -314,32 +280,22 @@ Nous allons maintenant créer un makefile pour compiler et lancer ce code. Crée
314280
principe que vous connaissez déjà les bases de makefile, dont les variables et les règles. Sinon vous pouvez trouver des
315281
introductions claires sur internet, par exemple [ici](https://makefiletutorial.com/).
316282

317-
Nous allons d'abord définir quelques variables pour simplifier le reste du fichier. Définissez `VULKAN_SDK_PATH`, qui se
318-
réfère à l'emplacement du dossier "x86_64" dans le SDK, par exemple :
319-
320-
```make
321-
VULKAN_SDK_PATH = /home/utilisateur/VulkanSDK/x.x.x.x/x86_64
322-
```
323-
324-
Remplacez bien "utilisateur" par votre nom d'utilisateur et "x.x.x.x" par la bonne version. Définissez ensuite `CFLAGS`,
325-
qui spécifiera les arguments pour la compilation :
283+
Nous allons d'abord définir quelques variables pour simplifier le reste du fichier.
284+
Définissez `CFLAGS`, qui spécifiera les arguments pour la compilation :
326285

327286
```make
328-
CFLAGS = -std=c++17 -I$(VULKAN_SDK_PATH)/include
287+
CFLAGS = -std=c++17 -O2
329288
```
330289

331-
Nous utiliserons du C++ moderne (`-std=c++17`). Nous devons également localiser "vulkan.h" dans le SDK de
332-
LunarG.
290+
Nous utiliserons du C++ moderne (`-std=c++17`) et compilerons avec le paramètre d'optimisation `-O2`. Vous pouvez le retirer pour compiler nos programmes plus rapidement, mais n'oubliez pas de le remettre pour compiler des exécutables prêts à être distribués.
333291

334292
Définissez de manière analogue `LDFLAGS` :
335293

336294
```make
337-
LDFLAGS = -L$(VULKAN_SDK_PATH)/lib `pkg-config --static --libs glfw3` -lvulkan
295+
LDFLAGS = -lglfw -lvulkan -ldl -lpthread
338296
```
339297

340-
Le premier paramètre permet de localiser les librairies comme "libvulkan.so" dans le dossier "x86_64/lib" du SDK. La
341-
seconde partie utilise `pkg-config` pour trouver les pramètres nécessaires au linker pour compiler avec GLFW. Enfin,
342-
`-lvulkan` correspond au loader dynamique des fonctions Vulkan présent dans le SDK.
298+
Le premier flag correspond à GLFW, `-lvulkan` correspond au loader dynamique des fonctions Vulkan, et les deux derniers sont requis par GLFW.
343299

344300
Spécifier les commandes pour la compilation de "VulkanTest" est désormais un jeu d'enfant. Assurez-vous que vous
345301
utilisez des tabulations et non des espaces pour l'indentation.
@@ -365,62 +321,28 @@ clean:
365321
rm -f VulkanTest
366322
```
367323

368-
Vous devriez constater que `make clean` fonctionne mais que `make test` s'interrompra avec le message suivant :
369-
370-
```text
371-
./VulkanTest: error while loading shared libraries: libvulkan.so.1: cannot open shared object file: No such file or directory
372-
```
373-
374-
En effet "libvulkan.so" n'est pas installé comme une librairie système. Pour que le linker la trouve, nous devons lui
375-
spécifier explicitement la localisation de la librairie avec une variable :
376-
377-
```make
378-
test: VulkanTest
379-
LD_LIBRARY_PATH=$(VULKAN_SDK_PATH)/lib ./VulkanTest
380-
```
381-
382-
Le programme devrait se lancer correctement maintenant, et afficher le nombre d'extensions disponibles. Si ce nombre est
383-
zéro, il y a un problème avec la configuration de Vulkan sur votre système. L'application devrait quitter avec le
384-
code 0 lorsque vous fermez la fenêtre. Il y a pourtant encore une variable que nous devons créer. Nous allons
385-
utiliser les validation layers et devons donc lui indiquer leur localisation avec la variable
386-
`VK_LAYER_PATH` :
387-
388-
```make
389-
test: VulkanTest
390-
LD_LIBRARY_PATH=$(VULKAN_SDK_PATH)/lib VK_LAYER_PATH=$(VULKAN_SDK_PATH)/etc/vulkan/explicit_layer.d ./VulkanTest
391-
```
392-
324+
Lancer `make test` doit vous afficher le programme sans erreur, listant le nombre d'extensions disponible pour Vulkan.
325+
L'application devrait retourner le code de retour 0 (succès) quand vous fermez la fenêtre vide.
393326
Vous devriez désormais avoir un makefile ressemblant à ceci :
394327

395328
```make
396-
VULKAN_SDK_PATH = /home/user/VulkanSDK/x.x.x.x/x86_64
397-
398-
CFLAGS = -std=c++17 -I$(VULKAN_SDK_PATH)/include
399-
LDFLAGS = -L$(VULKAN_SDK_PATH)/lib `pkg-config --static --libs glfw3` -lvulkan
329+
CFLAGS = -std=c++17 01_Modules_shaders.md
330+
LDFLAGS = -lglfw -lvulkan -ldl -lpthread
400331

401332
VulkanTest: main.cpp
402333
g++ $(CFLAGS) -o VulkanTest main.cpp $(LDFLAGS)
403334

404335
.PHONY: test clean
405336

406337
test: VulkanTest
407-
LD_LIBRARY_PATH=$(VULKAN_SDK_PATH)/lib VK_LAYER_PATH=$(VULKAN_SDK_PATH)/etc/vulkan/explicit_layer.d ./VulkanTest
338+
./VulkanTest
408339

409340
clean:
410341
rm -f VulkanTest
411342
```
412343

413-
Vous pouvez désormais utiliser ce dossier comme exemple pour vos futurs projets Vulkan. Faites-en une copie, changez le
414-
nom du projet et tout sera prêt!
415-
416-
Avant d'avancer, regardons le SDK plus en détail. Il y a d'autres programmes dans ce dossier qui vous seront utiles :
417-
"glslangValidator" et "glslc". Nous nous en servirons pour compiler les shaders. Ils transforment un code lisible par l'homme
418-
écrit en [GLSL](https://en.wikipedia.org/wiki/OpenGL_Shading_Language) en bytecode. Nous couvrirons cela dans le
419-
chapitre [modules shader](!fr/Dessiner_un_triangle/Pipeline_graphique_basique/Modules_shaders).
420-
421-
422-
Enfin, le dossier "Include" contient les headers Vulkan. Vous pouvez parourir les autres
423-
fichiers, mais nous ne les utiliserons pas dans ce tutoriel.
344+
Vous pouvez désormais utiliser ce dossier comme exemple pour vos futurs projets Vulkan.
345+
Faites-en une copie, changez le nom du projet pour quelque chose comme `HelloTriangle` et retirez tout le code contenu dans `main.cpp`.
424346

425347
Bravo, vous êtes fin prêts à vous [lancer avec Vulkan!](!fr/Dessiner_un_triangle/Mise_en_place/Code_de_base)
426348

0 commit comments

Comments
 (0)