Persiapan Vulkan

Dokumen ini menjelaskan cara mulai menggunakan library grafis Vulkan dengan mendownload, mengompilasi, dan menjalankan beberapa aplikasi sampel.

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 mengonfirmasi bahwa Anda memiliki hardware dan versi platform yang tepat, Anda dapat mendownload software yang diperlukan.

Mendownload

Sebelum memulai, Anda harus mendownload sejumlah fitur dan software lainnya. Perhatikan bahwa pada host Windows, sebaiknya hindari hierarki jalur file yang dalam untuk fitur dan kode sumber, sebagai solusi mengatasi batasan jalur file pada beberapa versi OS Windows.

  1. Jika Anda belum memiliki Android Studio, download Android Studio. File ini mencakup Android SDK terbaru.
  2. Instal NDK dari dalam Android Studio atau download secara manual.
  3. Buat Shaderc dengan membuka <ndk-root>/sources/third_party/shaderc/, lalu menjalankan perintah berikut:
  4. Pada Mac atau Linux:

        $ ../../../ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk \
         APP_ABI=all APP_PLATFORM=android-24 APP_STL:=c++_static \
         -j8 clean libshaderc_combined
        

    Pada Windows:

        ..\..\..\ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk ^
         APP_ABI=all APP_PLATFORM=android-24 APP_STL=c++_static ^
         -j8 clean libshaderc_combined
        

    Buka Compiler Shader untuk dokumentasi Shaderc lainnya.

Mengimpor

Anda dapat mengimpor sampel Vulkan© API ke dalam Android Studio dengan salah satu cara berikut:

  1. Secara otomatis melalui Android Studio. Caranya, pilih File > Baru > Impor Sampel, lalu pilih NDK > Sampel Vulkan API.

    Anda mungkin melihat error tentang komponen atau versi SDK yang tidak ada. Saat pesan ini muncul, ikuti petunjuk penginstalan yang ditampilkan Android Studio kepada Anda. Langkah-langkah tersebut akan memperbaiki error secara otomatis.

    Setelah beberapa menit, panel Project akan menyerupai jendela pada Gambar 1 di bawah.

    Panel Project setelah mengimpor contoh ke dalam Android Studio

    Gambar 1. Panel project yang menampilkan sampel setelah diimpor.

  2. Secara manual melalui terminal:
    • Download kode sumber:
      git clone https://github.com/googlesamples/vulkan-basic-samples.git
    • Buka sampel dengan Android Studio. Caranya, pilih File > Buka, buka direktori sumber yang sudah di-clone, lalu klik Oke.

Mengompilasi

Untuk mengompilasi project, ikuti langkah-langkah berikut:

  1. Pilih project Anda di panel Project Android Studio.
  2. Dari menu Build, pilih Buat Modul <nama-modul>; atau pilih Buat APK untuk membuat APK.
  3. 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.
  4. Memilih project drawcube dari pulldown config

    Gambar 2. Memilih satu project untuk dikompilasi.

Catatan: Sampel tutorial tambahan menunjukkan penggunaan shader yang dikompilasi dengan kompilasi offline yang terintegrasi dalam Android Studio. Untuk memudahkan penggunaan, setiap tutorial telah disertakan dan dibuat sesuai dengan prosedur build Android Studio standar.

Menjalankan

Untuk menjalankan project, tentukan APK yang ingin dijalankan dengan memilih Jalankan > Jalankan <nama-project>.

Untuk men-debug APK, pilih Jalankan > Debug <nama-project>. Misalnya, untuk project drawcube, jalankan 15-draw_cube.

Sebagian besar sampel 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

. Bila berhasil dijalankan maka akan ditampilkan kubus warna-warni

Gambar 3. Program yang berhasil dikompilasi akan berjalan dan menghasilkan tampilan.

Menggunakan Loader Dinamis

Sampel menggunakan fungsi helper pemuat dinamis yang ditentukan dalam vulkan_wrapper.h/cpp untuk mengambil pointer Vulkan API menggunakan dlopen() dan dlsym(). Cara ini lebih disukai dibandingkan menautkan pointer dengan vulkan.so secara statis.

Penggunaan pemuat ini memungkinkan kode untuk terhubung ke API level 23 dan versi platform yang lebih lama. Versi lama tersebut tidak menyertakan library bersama vulkan.so, tetapi dapat dijalankan di perangkat yang mendukung Vulkan API.

Cuplikan berikut menampilkan cara menggunakan pemuat dinamis.

    #include "vulkan_wrapper.h" // Include Vulkan_wrapper and dynamically load symbols.
    ...
    // Before any Vulkan API usage,
    InitVulkan();
    

Referensi lainnya