Vulkan'ı kullanmaya başlayın

Bu dokümanda, Khronos© örnek uygulamasını indirerek, derleyerek ve çalıştırarak Vulkan grafik kitaplığını kullanmaya nasıl başlayacağınız açıklanmaktadır.

Ön koşullar

Başlamadan önce doğru donanım ve platform sürümünün hazır olduğundan emin olun. Android 7.0 (Nougat), API düzeyi 24 veya sonraki sürümleri çalıştıran Vulkan'ı destekleyen bir cihaz veya emülatör kullanmanız gerekir.

Android sürümünüzü onaylamak için Ayarlar menüsüne gidip Telefon hakkında > Android sürümü'nü seçin. Doğru donanıma ve platform sürümüne sahip olduğunuzu onayladıktan sonra gerekli yazılımı indirebilirsiniz.

İndir

Başlamadan önce, çeşitli araçları ve diğer yazılımları indirmeniz gerekir. Bir Windows ana makinesinde, araçlar ve kaynak kodu için bir derin dosya yolu hiyerarşisinden kaçınmanızın önerildiğini unutmayın. Bunun, bazı Windows OS sürümlerindeki dosya yolu sınırlamalarını aşmaya yönelik olması gerekir.

  1. Android Studio'nuz yoksa indirin. Buna en yeni Android SDK'sı dahildir.
  2. Android Studio'dan NDK ve CMake'i yükleyin veya bunları ayrı olarak indirin ve yükleyin.
  3. Android Studio'nun düzgün bir şekilde çalıştığından emin olmak için Merhaba JNI örneğini oluşturup çalıştırın.
  4. Ana makine platformunuz için python3'ü ve build.md dosyasında listelenen diğer bileşenleri yükleyin.

İçe Aktar

Bu bölümde Khronos© Vulkan© örnek deposu'nu indirip bir Android gradle projesi oluşturup Android Studio IDE ile açıyorsunuz.

  1. Aşağıdaki ortam değişkenlerini ayarlayın:
    export ANDROID_HOME=/path/to/sdk-directory
    export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/{your-ndk-version-dir}
    
  2. Android derleme komut dosyaları oluşturmak için kullanılan $PATH yolunda CMake'i ekleyin:
    export PATH=$PATH:$ANDROID_HOME/cmake/{your-cmake-version}/bin
    
  3. Bir terminal açın ve kaynak kodunu geliştirme dizininize indirin:
    cd dev-directory
    git clone --recursive https://github.com/KhronosGroup/Vulkan-Samples.git
    
  4. Android örnek projesini oluşturmak için Build.md komut dosyasındaki talimatları uygulayın:
    cd Vulkan-Samples
    ./scripts/generate.py android
    
  5. Android Studio'yu açın. Dosya > Aç'ı seçin ve Vulkan-Samples/build/android_gradle/build.gradle'yi tıklayın. Android Studio projeyi yükledikten sonra aşağıdakine benzer bir şey görürsünüz:
    Örnek proje Studio'ya aktarılıyor.

    Şekil 1. Android Studio'daki örnek proje.

Derle

Bu depodaki tüm örnekler tek bir Android projesinde düzenlenmiştir. Projeyi derlemek için aşağıdakilerden birini yapın:

  • Kaynakları derlemek için Derleme > Proje Oluştur menüsünü veya Ctrl-F9 kısayol tuşunu yazın.
  • Örnek APK'yı oluşturmak için Build(Derleme) > Build Bundle(s/APKs] > Build APK(s) [Derleme APK'ları Oluştur] seçeneğini belirleyin.

Derleme başarılı mesajını Android Studio'nun Derleme penceresinde görebilirsiniz. Görüntülenen hatalar varsa bunları düzeltip yeniden derleyin.

Örnek proje Studio ile derleniyor.

Şekil 2. Örnek yapı başarılı.

Yürüt

Örnek projeyi çalıştırmadan önce Android Studio'nun bağlı Vulkan cihazınızı veya Android Emülatörünüzü tanıdığından emin olun. Aşağıdaki gibi bir şey görürsünüz:

Test cihazı Studio'ya bağlanıyor.

Şekil 3. Test cihazını Android Studio'ya bağlayın.

Projeyi çalıştırmak için aşağıdaki adımları uygulayın:

  1. Çalıştır > vulkan_sample çalıştır menüsünü kullanın veya araç çubuğundaki çalıştırma düğmesini tıklayın. Bağlı örneğin örnek yüklenmesini ve başlamasını bekleyin.
  2. Bağlı Android cihazınızda gerekli erişim isteklerini onaylayın.
    • Tüm dosyaları yönetmek için erişime izin ver'i etkinleştirin ve örnek ana başlangıç ekranını döndürmek için oka Geri düğmesi dokunun.
    • disk erişimine izin verin:
      disk erişimine izin verme.

      Şekil 4. Disk erişimini etkinleştirin.

  3. Aşağıdakine benzer bir örnek ana menü ekranı görmeniz gerekir:
    örnek ana menü.

    Şekil 5. Örnek ana menü.

  4. Örnek listeye göz atın ve çalıştırmak için birkaç tanesini seçin. Vulkan geliştirme konusunda yeniyseniz "API" örnekleriyle başlayabilirsiniz. Örneğin, "Merhaba Üçgen"e dokunduğunuzda aşağıdakine benzer şekilde oluşturulmuş bir üçgen görüntülenir:
    Üçgen

    Şekil 6. Merhaba Triange örneği.

Geliştirme sisteminiz artık test cihazınızda örnekler çalıştıracak şekilde ayarlandı.

Vulkan Örnekleri, masaüstü ve mobil işletim sistemleri dahil olmak üzere birden çok işletim sistemi için geliştirilmiştir. Performans, Uzantılar ve Aracın altındaki bazı örnekler kararsız olabilir ve cihazınızda kilitlenebilir. Bu durum aşağıdakiler gibi çeşitli nedenlerden kaynaklanabilir:

  • Vulkan'ın belirli özellikleri Android için tasarlanmamıştır.
  • Android OS sürümünüz desteklenmiyor.
  • Donanım platformunuzun GPU özelliği.

Shorts

Vulkan örneğinin Java bölümü NativeActivity sınıfından türetilir. Uygulama oluşturma, başlatma, durdurma ve yok etme gibi tipik uygulama yaşam döngüsü olaylarını C/C++ koduna geçirir. Örneğin C/C++ bölümünde çalışma zamanı alt örnek geçişi işlevini uygulayan bir örnek çerçeve vardır. Çok yüksek bir düzeyde, Android sistem etkinlikleri/mesajları, örnek uygulamanın Vulkan koduna ulaşmak için aşağıdaki adımları uygular:

  • NativeSampleActivity Java bölümü
  • NativeSampleActivity C/C++ bölümü
  • android_native_glue kod
  • android_main
  • Örnek çerçeve
  • Bağımsız alt örnek kodu

android_main, NativeSampleActivity ile uygulama kodu arasındaki köprüdür. Örnek kod, sizin için başlangıç noktası olabilir. Yalnızca Vulkan'a özel kaynaklara odaklanmak istiyorsanız Vulkan_Samples\samples altındaki kodu keşfedebilirsiniz. Bu kod şunları içerir:

  • "api" kategorisi örnekleri.
  • "Performance" (performans) kategorisi örnekleri.
  • "Uzantılar" kategori örnekleri.
  • "Araç" örnekleri.

Vulkan_Samples\shaders, tüm gölgelendiricilerin yuvası.

Temel Vulkan kullanımı ve örnek çerçeve hakkında bilgi edinmek için "API" kategorisi örneklerine göz atmaya başlayabilirsiniz. Ardından, "Performans" ve "Uzatma" kategorisi örneklerine geçebilirsiniz. Gölgelendirici kodu için Android Studio'daki Proje görünümünü kullanabilirsiniz.

Üçgen gölgelendirici.

Şekil 7. Gölgelendiriciyi Studio ile keşfedin.

Ek kaynaklar

Vulkan API'nin birkaç sürümü var, bu nedenle artık olgunlaşıyor. Vulkan standart komitesi ve Vulkan topluluğu, API'nin kullanımını ve en iyi uygulamaları gösteren zengin bir Vulkan materyali oluşturdu. Aşağıdaki listede Vulkan uygulama geliştirme için bazı kaynaklar yer almaktadır: