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

Skip to content

Commit 4f1fe3e

Browse files
committed
Use GLSLC instead of GlslangValidator
1 parent b6da3ca commit 4f1fe3e

2 files changed

Lines changed: 21 additions & 20 deletions

File tree

fr/02_Environnement_de_développement.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ carte graphique supporte Vulkan. Allez dans le dossier d'installation du SDK, ou
2828
Si vous recevez un message d'erreur assurez-vous que votre driver est à jour, inclut Vulkan et que votre carte graphique
2929
est supportée. Référez-vous au [chapitre introductif](!fr/Introduction) pour les liens vers les principaux constructeurs.
3030

31-
Il y a un autre programme dans ce dossier qui vous sera utile : "glslangValidator.exe". Nous en aurons besoin pour la
32-
compilation des shaders. Il transforme un code compréhensible facilement et semblable au C (le
33-
[GLSL](https://en.wikipedia.org/wiki/OpenGL_Shading_Language)) en byte code.
31+
Il y a d'autres programmes dans ce dossier qui vous seront utiles : "glslangValidator.exe" et "glslc.exe". Nous en aurons besoin pour la
32+
compilation des shaders. Ils transforment un code compréhensible facilement et semblable au C (le
33+
[GLSL](https://en.wikipedia.org/wiki/OpenGL_Shading_Language)) en bytecode.
3434
Nous couvrirons cela dans le chapitre des [modules shader](!fr/Dessiner_un_triangle/Pipeline_graphique_basique/Modules_shaders).
3535
Le dossier "Bin" contient aussi les fichiers binaires du loader Vulkan et des validation layers. Le dossier "Lib" en
3636
contient les librairies.
@@ -414,9 +414,9 @@ clean:
414414
Vous pouvez désormais utiliser ce dossier comme exemple pour vos futurs projets Vulkan. Faites-en une copie, changez le
415415
nom du projet et tout sera prêt!
416416

417-
Avant d'avancer, regardons le SDK plus en détail. Il y a un autre programme dans ce dossier qui vous sera utile :
418-
"glslangValidator". Nous nous en servirons pour compiler les shaders. Il transforme un code lisible par l'homme
419-
écrit en [GLSL](https://en.wikipedia.org/wiki/OpenGL_Shading_Language) en byte code. Nous couvrirons cela dans le
417+
Avant d'avancer, regardons le SDK plus en détail. Il y a d'autres programmes dans ce dossier qui vous seront utiles :
418+
"glslangValidator" et "glslc". Nous nous en servirons pour compiler les shaders. Ils transforment un code lisible par l'homme
419+
écrit en [GLSL](https://en.wikipedia.org/wiki/OpenGL_Shading_Language) en bytecode. Nous couvrirons cela dans le
420420
chapitre [modeules shader](!fr/Dessiner_un_triangle/Pipeline_graphique_basique/Modules_shaders).
421421

422422

fr/03_Dessiner_un_triangle/02_Pipeline_graphique_basique/01_Modules_shaders.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,13 @@ compilateurs étaient très laxistes par rapport à la spécification qui leur
1111
complexe, il pouvait être accepté par l'un et pas par l'autre, ou pire s'éxécuter différemment. Avec le format de
1212
plus bas niveau qu'est SPIR-V, ces problèmes seront normalement éliminés.
1313

14-
Cela ne veut cependant pas dire que nous devrons écrire ces bytecodes à la main. Khronos fournit lui-même un
14+
Cela ne veut cependant pas dire que nous devrons écrire ces bytecodes à la main. Khronos fournit même un
1515
compilateur transformant GLSL en SPIR-V. Ce compilateur standard vérifiera que votre code correspond à la spécification.
16-
Le compilateur est fourni avec le SDK et s'appelle `glslangValidator`, vous n'aurez donc rien de plus à télécharger.
16+
Vous pouvez également l'inclure comme une bibliothèque pour produire du SPIR-V au runtime, mais nous ne ferons pas cela dans ce tutoriel.
17+
Le compilateur est fourni avec le SDK et s'appelle `glslangValidator`, mais nous allons utiliser un autre compilateur
18+
nommé `glslc`, écrit par Google. L'avantage de ce dernier est qu'il utilise le même format d'options que GCC ou Clang,
19+
et inclu quelques fonctionnalités supplémentaires comme les *includes*. Les deux compilateurs sont fournis dans le SDK,
20+
vous n'avez donc rien de plus à télécharger.
1721

1822
GLSL est un language possédant une syntaxe proche du C. Les programmes y ont une fonction `main` invoquée pour chaque
1923
objet à traiter. Plutôt que d'utiliser des paramètres et des valeurs de retour, GLSL utilise des variables globales
@@ -201,40 +205,37 @@ void main() {
201205
}
202206
```
203207

204-
Nous allons maintenant compiler ces shaders en bytecode SPIR-V à l'aide du programme `glslangValidator`.
208+
Nous allons maintenant compiler ces shaders en bytecode SPIR-V à l'aide du programme `glslc`.
205209

206210
**Windows**
207211

208212
Créez un fichier `compile.bat` et copiez ceci dedans :
209213

210214
```bash
211-
C:/VulkanSDK/x.x.x.x/Bin32/glslangValidator.exe -V shader.vert
212-
C:/VulkanSDK/x.x.x.x/Bin32/glslangValidator.exe -V shader.frag
215+
C:/VulkanSDK/x.x.x.x/Bin32/glslc.exe shader.vert -o vert.spv
216+
C:/VulkanSDK/x.x.x.x/Bin32/glslc.exe shader.frag -o frag.spv
213217
pause
214218
```
215219

216-
Corrigez le chemin vers `glslangValidator.exe` pour que le .bat pointe effectivement là où le vôtre se trouve.
220+
Corrigez le chemin vers `glslc.exe` pour que le .bat pointe effectivement là où le vôtre se trouve.
217221
Double-cliquez pour lancer ce script.
218222

219223
**Linux**
220224

221225
Créez un fichier `compile.sh` et copiez ceci dedans :
222226

223227
```bash
224-
/home/user/VulkanSDK/x.x.x.x/x86_64/bin/glslangValidator -V shader.vert
225-
/home/user/VulkanSDK/x.x.x.x/x86_64/bin/glslangValidator -V shader.frag
228+
/home/user/VulkanSDK/x.x.x.x/x86_64/bin/glslc shader.vert -o vert.spv
229+
/home/user/VulkanSDK/x.x.x.x/x86_64/bin/glslc shader.frag -o frag.spv
226230
```
227231

228-
Corrigez le chemin menant au `glslangValidator` pour qu'il pointe là où il est. Rendez le script exécutable avec la
232+
Corrigez le chemin menant au `glslc` pour qu'il pointe là où il est. Rendez le script exécutable avec la
229233
commande `chmod +x compile.sh` et lancez-le.
230234

231235
**Fin des instructions spécifiques**
232236

233-
Ces deux commmandes invoquent le programme avec l'argument `-V`. Celui-ci indique au programme de compiler les sources
234-
GLSL en bytecode SPIR-V, sinon le programme se contenterait de vérifier que les sources correspondent au standard.
235-
Une fois le script exécuté vous vous retrouverez avec deux nouveaux fichiers : `vert.spv` et `frag.spv`. Les noms
236-
sont automatiquement dérivés du type de shader, mais vous pouvez les renommer si vous le souhaitez. Vous aurez
237-
peut-être un message parlant de fonctionnalités manquantes mais vous pouvez l'ignorer sans problème.
237+
Ces deux commandes instruisent le compilateur de lire le code GLSL source contenu dans un fichier et d'écrire
238+
le bytecode SPIR-V dans un fichier grâce à l'option `-o` (output).
238239

239240
Si votre shader contient une erreur de syntaxe le compilateur vous indiquera le problème et la ligne à laquelle il
240241
apparait. Essayez de retirer un point-virgule et voyez l'efficacité du debogueur. Essayez également de voir les

0 commit comments

Comments
 (0)