Dokumen ini menjelaskan cara memulai penggunaan library grafik Vulkan dengan mendownload, mengompilasi, dan menjalankan beberapa aplikasi contoh.
Sebelum memulai, pastikan Anda telah mempersiapkan hardware dan versi platform yang tepat. Sebaiknya gunakan perangkat yang mendukung Vulkan, yang menjalankan Android API level 24 atau lebih tinggi.
Anda dapat mengonfirmasi versi Android dengan membuka menu Setelan, lalu memilih Tentang <perangkat> > Versi Android. Setelah memastikan bahwa hardware dan versi platform yang tepat sudah disiapkan, Anda dapat mendownload software yang diperlukan.
Mendownload
Sebelum memulai, Anda harus mendownload beberapa alat dan software lainnya. Perlu diketahui bahwa di host Windows, sebaiknya jangan gunakan hierarki jalur file yang dalam untuk alat dan kode sumber agar terhindar dari batas jalur file yang ada di beberapa versi OS Windows.
- Jika Anda belum memiliki Android Studio, download di sini. Ini mencakup Android SDK terbaru.
- Instal NDK dari Android Studio atau download secara manual.
Mengimpor
Di bagian ini, Anda mendownload repositori LunarG Vulkan©, membuat project Android Studio untuk contoh API, lalu mengimpor project ini ke IDE:
Buka terminal, lalu download kode sumber ke direktori pengembangan:
cd dev-directory git clone --recursive https://github.com/LunarG/VulkanSamples.git
Ikuti petunjuk ini (dari Building on Android) guna membuat project contoh untuk Android:
cd VulkanSamples/API-Samples cmake -DANDROID=ON -DABI_NAME=abi cd android python3 compile_shaders.py
ABI yang didukung mencakup:
armeabi-v7a
arm64-v8a
x86
x86_64
Tetapkan variabel lingkungan untuk menentukan jalur ke Android NDK dan SDK:
export ANDROID_SDK_ROOT=/path/to/sdk-directory export ANDROID_NDK_HOME=/path/to/ndk-directory
Versi
targetSdk
saat ini untuk contoh adalah 26, sehingga Anda mungkin harus mengupdate alat dengan SDK Manager.Buka Android Studio. Pilih File > Open lalu pilih
VulkanSamples/API-Samples/android/build.gradle
.
Panel Project terlihat seperti jendela yang ditunjukkan dalam Gambar 1.
Gambar 1. Panel project yang menampilkan contoh setelah diimpor.
Mengompilasi
Anda dapat mengompilasi project di Android Studio atau dari command line.
Android Studio
- Pilih File > Project Structure. Pilih SDK Location dan pastikan lokasi SDK dan NDK sudah ditetapkan.
- Pilih project Anda di panel Project Android Studio.
- Dari menu Build, pilih Buat Modul <nama-modul>; atau pilih Buat APK untuk membuat APK.
- Selesaikan semua masalah dependensi, lalu jalankan kompilasi. Seperti terlihat pada Gambar 2, Anda dapat memilih project tertentu untuk dikompilasi dengan memilihnya dari menu pulldown konfigurasi.

Gambar 2. Memilih satu project untuk dikompilasi.
Command line
Gunakan perintah berikut untuk mem-build project dari command line (pastikan Anda masih membuka direktori VulkanSamples/API-Samples/android):
./gradlew build
Mengeksekusi
Untuk menjalankan project, tentukan APK yang akan dijalankan dengan memilih Run > Run <project-name>.
Untuk men-debug APK, pilih Run > Debug <project-name>. Misalnya, untuk drawcube, jalankan 15-draw_cube.
Sebagian besar contoh memiliki fungsionalitas sederhana untuk menunjukkan cara menggunakan satu API tertentu, dan sebagian besar akan otomatis berhenti setelah berjalan. Contoh drawcube adalah salah satu contoh yang menarik secara visual. Setelah Anda menjalankannya, drawcube akan menampilkan gambar seperti pada Gambar 3
.
Gambar 3. Program yang berhasil dikompilasi akan berjalan dan menghasilkan tampilan.
Menggunakan loader dinamis
Contoh menggunakan fungsi bantuan loader dinamis yang ditentukan dalam vulkan_wrapper.h/cpp
untuk
mengambil pointer Vulkan API menggunakan dlopen()
dan dlsym()
. Contoh tersebut tidak menautkannya secara statis dengan vulkan.so
.
Penggunaan loader ini memungkinkan kode terhubung ke API level 23 dan versi platform yang lebih lama. Platform versi lama tidak menyertakan library bersama vulkan.so
, tetapi dapat berjalan di perangkat yang mendukung Vulkan API.
Cuplikan berikut menunjukkan cara menggunakan loader dinamis.
#include "vulkan_wrapper.h" // Include Vulkan_wrapper and dynamically load symbols. ... // Before any Vulkan API usage, InitVulkan();
Referensi lainnya
- Spesifikasi Vulkan
Khronos Group mempertahankan spesifikasi Vulkan. Buka halaman beranda Vulkan untuk mengetahui spesifikasi, pelatihan, dan tutorial lengkapnya.
- Shaderc
Kode Shaderc dalam NDK adalah downstream dari repositori Shaderc. Jika Anda memerlukan Shaderc terbaru, lihat Compiler Shader.