Memulai penggunaan Vulkan

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.

  1. Jika Anda belum memiliki Android Studio, download di sini. Ini mencakup Android SDK terbaru.
  2. Instal NDK dan CMake dari dalam Android Studio atau download dan instal secara terpisah.
  3. Buat dan Jalankan contoh Hello JNI untuk memastikan Android Studio berfungsi dengan baik.
  4. 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.

  1. Tetapkan variabel lingkungan berikut:
    export ANDROID_HOME=/path/to/sdk-directory
    export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/{your-ndk-version-dir}
    
  2. Tambahkan CMake ke $PATH, yang digunakan untuk membuat skrip build Android:
    export PATH=$PATH:$ANDROID_HOME/cmake/{your-cmake-version}/bin
    
  3. Buka terminal, lalu download kode sumber ke direktori pengembangan:
    cd dev-directory
    git clone --recursive https://github.com/KhronosGroup/Vulkan-Samples.git
    
  4. Ikuti petunjuk ini (dari Build.md) untuk membuat project contoh Android:
    cd Vulkan-Samples
    ./scripts/generate.py android
    
  5. 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:
    Mengimpor project contoh ke Studio.

    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.

Mengompilasi project contoh dengan Studio.

Gambar 2. Contoh build yang berhasil.

Eksekusi

Sebelum menjalankan project contoh, pastikan Android Studio mengenali perangkat Vulkan atau Android Emulator yang terhubung. Anda akan melihat sesuatu seperti berikut:

Menghubungkan perangkat pengujian ke Studio.

Gambar 3. Hubungkan perangkat pengujian ke Android Studio.

Untuk menjalankan project, lakukan langkah-langkah berikut:

  1. Gunakan menu Run > Run vulkan_sample, atau klik tombol jalankan di toolbar, dan tunggu contoh diinstal dan dimulai di perangkat terhubung Anda.
  2. 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:
      mengizinkan akses disk.

      Gambar 4. Aktifkan akses disk.

  3. Anda akan melihat contoh layar menu utama, yang mirip dengan berikut ini:
    contoh menu utama.

    Gambar 5. Contoh menu utama.

  4. 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:
    Triangle

    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 kode
  • android_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.

Shader segitiga.

Gambar 7. Pelajari shader dengan 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: