Ce document explique comment télécharger, compiler et exécuter l'application exemple Khronos© pour commencer à utiliser la bibliothèque de graphiques Vulkan.
Conditions préalables
Avant de commencer, assurez-vous que la version appropriée du matériel et de la plate-forme est prête. Vous devez utiliser un appareil ou un émulateur compatible avec Vulkan, exécutant Android 7.0 (Nougat) ou une API de niveau 24 ou supérieur.
Pour vérifier votre version d'Android, accédez au menu Paramètres, puis sélectionnez À propos du téléphone > Version d'Android. Une fois que vous avez confirmé que vous utilisez la configuration appropriée du matériel et de la plate-forme, vous pouvez télécharger les logiciels nécessaires.
Télécharger
Avant de commencer, vous devez télécharger plusieurs outils et logiciels. Notez que sur un hôte Windows, il est recommandé d'éviter une hiérarchie profonde des chemins d'accès aux fichiers pour les outils et le code source. Cette pratique permet de contourner les limites de chemin d'accès appliquées sur certaines versions du système d'exploitation Windows.
- Si vous n'avez pas encore Android Studio, téléchargez-le, y compris le SDK Android le plus récent.
- Installez le NDK et CMake depuis Android Studio, ou téléchargez-les et installez-les séparément.
- Générez et exécutez l'exemple JNI Hello pour vous assurer qu'Android Studio fonctionne correctement.
- Installez Python 3 et les autres composants répertoriés dans build.md pour votre plate-forme hôte.
Importer
Dans cette section, vous téléchargerez l'exemple de dépôt Khronos© Vulkan©, générerez un projet Gradle pour Android, puis l'ouvrirez avec l'IDE Android Studio.
- Définissez les variables d'environnement suivantes :
export ANDROID_HOME=/path/to/sdk-directory export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/{your-ndk-version-dir}
- Ajoutez CMake à $PATH, qui sert à générer les scripts de compilation Android :
export PATH=$PATH:$ANDROID_HOME/cmake/{your-cmake-version}/bin
- Ouvrez un terminal et téléchargez le code source dans le répertoire de développement :
cd dev-directory git clone --recursive https://github.com/KhronosGroup/Vulkan-Samples.git
- Suivez ces instructions (depuis Build.md) pour générer l'exemple de projet Android :
cd Vulkan-Samples ./scripts/generate.py android
- Ouvrez Android Studio. Choisissez File > Open (Fichier > Ouvrir), puis sélectionnez
Vulkan-Samples/build/android_gradle/build.gradle
. Une fois le projet chargé par Android Studio, une vue semblable à suivante devrait apparaître :Figure 1. Exemple de projet dans Android Studio
Compiler
Tous les exemples de ce dépôt sont organisés dans un seul projet Android. Pour compiler le projet, effectuez l'une des opérations suivantes :
- Pour compiler uniquement les sources, utilisez le menu Build (Compiler) > Make Project (Créer le projet) ou appuyez sur la touche de raccourci Ctrl-F9.
- Pour générer l'exemple de fichier APK, sélectionnez le menu Build (Compiler) > Build Bundle(s)/APK(s) (Compiler les bundles ou fichiers APK) > Build APK(s) (Compiler les fichiers APK).
Le message indiquant que la compilation a réussi s'affiche dans la fenêtre Build d'Android Studio. Si des erreurs s'affichent, corrigez-les, puis procédez de nouveau à la compilation.
Exécuter
Avant d'exécuter l'exemple de projet, assurez-vous qu'Android Studio reconnaît l'appareil Vulkan ou l'émulateur Android qui y est connecté. Une vue semblable à celle-ci devrait s'afficher :
Pour exécuter le projet, procédez comme suit :
- Accédez au menu Run > Run vulkan_sample (Exécuter > Exécuter vulkan_sample) ou cliquez sur le bouton d'exécution dans la barre d'outils, puis attendez que l'exemple soit installé et démarré sur l'appareil connecté.
- Sur votre appareil Android connecté, autorisez les demandes d'accès nécessaires.
- Activez Allow access to manage all files (Autoriser l'accès pour gérer tous les fichiers), puis appuyez sur la flèche de retour pour revenir à l'exemple d'écran de départ principal.
- Autorisez l'accès au disque :
Figure 4. Activation de l'accès au disque
- Vous devriez voir un écran de menu principal semblable à celui-ci :
Figure 5. Exemple de menu principal - Parcourez la liste d'exemples et sélectionnez-en quelques-uns à exécuter.
Si vous débutez dans le développement de Vulkan, vous pouvez commencer par les exemples "API".
Par exemple, appuyez sur "Hello Triangle" pour afficher un triangle semblable à celui-ci :
Figure 6. Exemple "Hello Triange"
Votre système de développement est maintenant configuré pour exécuter des exemples sur votre appareil de test.
Les exemples Vulkan sont développés pour plusieurs systèmes d'exploitation, y compris pour les ordinateurs et les mobiles. Certains exemples sous Performance (Performances), Extensions et Tooling (Outils) peuvent être instables et planter sur votre appareil. Plusieurs raisons peuvent expliquer ce comportement :
- Les fonctionnalités Vulkan n'ont pas été conçues pour Android.
- Votre version d'OS Android n'est pas compatible.
- La capacité GPU de votre plate-forme matérielle n'est pas adaptée.
Explorer
La section Java de l'exemple Vulkan provient de la classe NativeActivity. Elle transmet des événements de cycle de vie d'application types, tels que la création, le démarrage, l'arrêt et la destruction d'une application, au code C/C++. Dans la section C/C++ de l'exemple, un framework met en œuvre la fonctionnalité de changement d'exemple secondaire au moment de l'exécution. Dans les grandes lignes, les événements système et les messages Android suivent le chemin suivant pour atteindre le code Vulkan de l'application exemple :
- Section
NativeSampleActivity
Java - Section
NativeSampleActivity
C/C++ - Code
android_native_glue
android_main
- Exemple de framework
- Code de l'exemple secondaire individuel
android_main
est la passerelle entre NativeSampleActivity
et le code de l'application, ce qui peut vous servir de point de départ pour suivre l'exemple de code. Si vous souhaitez simplement vous concentrer sur les sources spécifiques à Vulkan, vous pouvez explorer le code sous Vulkan_Samples\samples
, qui contient les éléments suivants :
- Exemples de catégories "api"
- Exemples de catégories "performance"
- Exemples de catégories "extensions"
- Exemples d'outils
Vulkan_Samples\shaders
héberge tous les nuanceurs.
Vous pouvez commencer à parcourir les exemples de catégories "API" pour vous familiariser avec l'utilisation de base de Vulkan et l'exemple de framework. Vous pouvez ensuite accéder aux exemples de catégories "Performance" et "Extensions". Pour le code du nuanceur, vous pouvez utiliser la vue Project (Projet) dans Android Studio.
Ressources supplémentaires
L'API Vulkan a déjà connu plusieurs versions. Elle est donc relativement mature. Le comité standard et la communauté de Vulkan ont créé un vaste ensemble de documents qui décrivent l'utilisation et les bonnes pratiques liées à l'API. La liste suivante contient quelques ressources destinée au développement d'applications Vulkan :
Spécification Vulkan. Le groupe Khronos gère la spécification Vulkan. Consultez la page d'accueil de Vulkan pour accéder à la spécification complète, à la formation, aux guides et aux tutoriels.
Couches de validation. Les couches de validation sont essentielles au développement d'applications. Pour en savoir plus, consultez la documentation sur les couches de validation Vulkan sur Android.
Shaderc Le code Shaderc dans le NDK est en aval du dépôt Shaderc. Pour consulter la documentation et les instructions d'utilisation de la dernière version, accédez à la page Compilateurs Shader.