Android SDK'sında (Kotlin/Java) Vulkan'ı kullanarak AR uygulamanızı oluşturma

Config.TextureUpdateMode, TextureUpdateMode.EXPOSE_HARDWARE_BUFFER olarak ayarlandığında Session.update() çağrıldığında ARCore, Android donanım arabelleği sağlar. Bu donanım arabelleği bir Vulkan'a VkImage bağlanabilir.

Örnek uygulamayı görüntüleyin

Vulkan oluşturma desteği hello_ar_vulkan_c örnek uygulamasında gösterilmektedir.

Donanım arabellek çıkış modunu etkinleştir

Yapılandırılmış Config.TextureUpdateMode, ARCore'un kamera dokusunu nasıl güncelleyeceğini belirler. Politika TextureUpdateMode.EXPOSE_HARDWARE_BUFFER olarak ayarlandığında ARCore, kamera görüntüsünü bir HardwareBuffer üzerinden sağlar.

Oturumu TextureUpdateMode.EXPOSE_HARDWARE_BUFFER kullanacak şekilde yapılandırın:

Java

Config config = session.getConfig();
config.setTextureUpdateMode(Config.TextureUpdateMode.EXPOSE_HARDWARE_BUFFER);
session.configure(config);

Kotlin

session.configure(
  session.config.apply { textureUpdateMode = Config.TextureUpdateMode.EXPOSE_HARDWARE_BUFFER }
)

Donanım arabelleğini alma

TextureUpdateMode.EXPOSE_HARDWARE_BUFFER etkinleştirildiğinde donanım arabelleğini almak için Frame.getHardwareBuffer() işlevini kullanın:

Java

try {
  HardwareBuffer buffer = frame.getHardwareBuffer();
  // Use the buffer object in your rendering.
} catch (NotYetAvailableException e) {
  // The hardware buffer is not ready yet.
}

Kotlin

try {
  val buffer = frame.hardwareBuffer
  // Use the buffer object in your rendering.
} catch (e: NotYetAvailableException) {
  // The hardware buffer is not ready yet.
}

Vulkan oluşturma sırasında donanım arabelleğini kullanma

Vulkan kullanılarak artırılmış gerçeklik (AR) uygulamasının nasıl oluşturulacağına ilişkin bir örnek için bkz. vulkan_handler.cc.

Desteklenen cihazlar

Vulkan oluşturma desteği yalnızca Android API 27 ve bölümünü ziyaret edin. Ayrıca, cihazın VK_ANDROID_external_memory_android_hardware_buffer uzantısını desteklemesi gerekir.

Uygulamanızın manifest dosyasında Vulkan'ı zorunlu kılın

Google Play, verilerinizi filtrelemek için uygulama manifestinizde belirtilen <uses-feature> kullanır. uygulamanın donanım ve yazılım özelliği gereksinimlerini karşılamayan cihazlarda kullanılabilir. Vulkan 1.0 kullanan cihazlar gerekli uzantıyı desteklemeyebilir ancak cihazlar Vulkan 1.1 ile uyumlu sürümlerin Android 10 (API düzeyi 29) sürümünden itibaren gerekli uzantıya sahip olması gerekir.