Dokumen ini menguraikan cara memulai penggunaan library grafik Vulkan dengan mendownload, mengompilasi, dan menjalankan aplikasi contoh Khronos©.
Prasyarat
Sebelum memulai, pastikan Anda telah mempersiapkan hardware dan versi platform yang tepat. Sebaiknya gunakan perangkat atau emulator yang mendukung Vulkan, yang menjalankan Android 7.0 (Nougat), API level 24 atau lebih tinggi.
Anda dapat mengonfirmasi versi Android dengan membuka menu Setelan, dan memilih Tentang ponsel > Versi Android. Setelah mengonfirmasi bahwa Anda menyiapkan versi hardware dan platform yang tepat, Anda dapat mendownload software yang diperlukan.
Download
Sebelum memulai, Anda harus mendownload beberapa alat dan software lainnya. Perlu diketahui bahwa di host Windows, sebaiknya hindari 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 dan CMake dari dalam Android Studio atau download dan instal secara terpisah.
- Buat dan Jalankan contoh Hello JNI untuk memastikan Android Studio berfungsi dengan baik.
- Instal python3 dan komponen lainnya yang tercantum di build.md untuk platform host Anda.
Impor
Di bagian ini, Anda mendownload repositori contoh Khronos© Vulkan©, membuat project gradle Android, lalu membukanya dengan IDE Android Studio.
- Tetapkan variabel lingkungan berikut:
export ANDROID_HOME=/path/to/sdk-directory export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/{your-ndk-version-dir}
- Tambahkan CMake ke $PATH, yang digunakan untuk membuat skrip build Android:
export PATH=$PATH:$ANDROID_HOME/cmake/{your-cmake-version}/bin
- Buka terminal, lalu download kode sumber ke direktori pengembangan:
cd dev-directory git clone --recursive https://github.com/KhronosGroup/Vulkan-Samples.git
- Ikuti petunjuk ini (dari Build.md)
untuk membuat project contoh Android:
cd Vulkan-Samples ./scripts/generate.py android
- Buka Android Studio. Pilih File > Open lalu pilih
Vulkan-Samples/build/android_gradle/build.gradle
. Anda akan melihat sesuatu yang mirip dengan berikut ini setelah Android Studio memuat project:Gambar 1. Project contoh di dalam Android Studio.
Compile
Semua contoh dalam repo ini diatur ke dalam satu project Android. Untuk mengompilasi project, lakukan salah satu hal berikut:
- Untuk mengompilasi sumbernya, gunakan menu, Build > Make Project, atau ketik tombol pintasan Ctrl-F9.
- Untuk membuat APK contoh, pilih menu Build > Build Bundle(s)/APK(s) > Build APK(s).
Anda akan melihat pesan build berhasil di dalam jendela Build Android Studio. Jika ada error yang muncul, perbaiki lalu kompilasi ulang.
Eksekusi
Sebelum menjalankan project contoh, pastikan Android Studio mengenali perangkat Vulkan atau Android Emulator yang terhubung. Anda akan melihat sesuatu seperti berikut:
Untuk menjalankan project, lakukan langkah-langkah berikut:
- Gunakan menu Run > Run vulkan_sample, atau klik tombol jalankan di toolbar, dan tunggu contoh diinstal dan dimulai di perangkat terhubung Anda.
- Di perangkat Android yang terhubung, izinkan permintaan akses yang diperlukan.
- aktifkan Izinkan akses untuk mengelola semua file, lalu ketuk tanda panah Tombol kembali untuk menampilkan contoh layar awal utama.
- izinkan akses disk:
Gambar 4. Aktifkan akses disk.
- Anda akan melihat contoh layar menu utama, yang mirip dengan berikut ini:
Gambar 5. Contoh menu utama. - Jelajahi daftar contoh, lalu pilih beberapa yang akan dijalankan.
Jika Anda baru mengenal pengembangan Vulkan, Anda dapat memulai dengan contoh “API”.
Misalnya, mengetuk “Hello Triangle” akan menampilkan segitiga yang dirender
yang mirip dengan contoh berikut:
Gambar 6. Contoh Hello Triange.
Sistem pengembangan Anda kini telah disiapkan untuk menjalankan contoh di perangkat pengujian.
Contoh Vulkan dikembangkan untuk beberapa sistem operasi, termasuk untuk desktop dan seluler. Beberapa sampel di bagian Performance, Extensions, dan Tooling mungkin tidak stabil dan mengalami error di perangkat Anda. Hal ini dapat disebabkan oleh berbagai alasan, seperti:
- Fitur Vulkan tertentu tidak dirancang untuk Android.
- Versi OS Android Anda tidak didukung.
- Kemampuan GPU platform hardware Anda.
Jelajahi
Bagian Java dalam contoh Vulkan berasal dari class NativeActivity. Ini akan meneruskan peristiwa siklus proses aplikasi standar, seperti pembuatan aplikasi, memulai, menghentikan, dan menghancurkan kode C/C++. Pada bagian C/C++ contoh, ada framework contoh yang mengimplementasikan fungsi pengalihan subsampel runtime. Pada tingkat yang sangat tinggi, peristiwa/pesan sistem Android melalui jalur berikut untuk mencapai kode Vulkan aplikasi contoh:
- Bagian Java
NativeSampleActivity
- Bagian
NativeSampleActivity
C/C++ android_native_glue
kodeandroid_main
- Contoh framework
- Kode subsampel individu
android_main
adalah jembatan antara NativeSampleActivity
dan kode aplikasi,
yang dapat menjadi titik awal bagi Anda untuk mengikuti kode contoh. Jika hanya
ingin berfokus pada sumber khusus Vulkan, Anda dapat mempelajari kode di bagian
Vulkan_Samples\samples
, yang berisi hal berikut:
- Contoh kategori “api”.
- Contoh kategori “performa”.
- Contoh kategori “ekstensi”.
- Contoh “alat”.
Vulkan_Samples\shaders
adalah rumah untuk semua shader.
Anda dapat mulai menjelajahi contoh kategori “API” untuk membiasakan diri dengan penggunaan Vulkan dasar dan contoh framework. Kemudian Anda dapat melanjutkan ke contoh kategori "Performa" dan "Ekstensi". Untuk kode shader, Anda dapat menggunakan tampilan Project di Android Studio.
Referensi lainnya
Vulkan API telah melewati beberapa versi, jadi semakin matang. Komite standar Vulkan dan komunitas Vulkan telah membuat beragam rangkaian materi Vulkan yang menunjukkan penggunaan dan praktik terbaik API. Daftar berikut berisi beberapa referensi untuk pengembangan aplikasi Vulkan:
Spesifikasi Vulkan. Khronos Group mempertahankan spesifikasi Vulkan. Lihat halaman beranda Vulkan untuk mengetahui spesifikasi, pelatihan, panduan, dan tutorial lengkap.
Lapisan Validasi. Lapisan Validasi sangat penting untuk pengembangan aplikasi. Lihat dokumentasi Lapisan validasi Vulkan di Android untuk mengetahui detailnya.
Shaderc. Kode Shaderc di NDK adalah downstream repositori Shaderc. Untuk dokumentasi penggunaan dan petunjuk untuk mendapatkan versi terbaru, lihat Compiler Shader.