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 VkImage
öğesine bağlı olabilir.
Örnek uygulamayı görüntüleyin
Vulkan oluşturma desteği, hello_ar_vulkan_c örnek uygulamasında gösterilmektedir.
Donanım arabelleği çıkış modunu etkinleştir
Yapılandırılmış Config.TextureUpdateMode
, ARCore'un kamera dokusunu nasıl güncelleyeceğini belirler. TextureUpdateMode.EXPOSE_HARDWARE_BUFFER
olarak ayarlandığında ARCore, kamera görüntüsünü HardwareBuffer
aracılığıyla 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 alın
TextureUpdateMode.EXPOSE_HARDWARE_BUFFER
etkinleştirildiğinde donanım arabelleğini almak için Frame.getHardwareBuffer()
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 işlemi sırasında donanım arabelleğini kullan
Vulkan kullanılarak AR uygulaması oluşturma örneği için vulkan_handler.cc
sayfasına bakın.
Desteklenen cihaz sayısı
Vulkan oluşturma desteği, yalnızca 27 ve üzeri Android API seviyelerinde kullanılabilir. 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ılma
Google Play, uygulamanızı donanım ve yazılım özelliği gereksinimlerini karşılamayan cihazlardan filtrelemek için uygulama manifestinizde belirtilen <uses-feature>
kodunu kullanır.
Vulkan 1.0 kullanan cihazlar gerekli uzantıyı desteklemeyebilir ancak Vulkan 1.1 ile uyumlu cihazlarda Android 10 (API düzeyi 29) sürümünden itibaren gerekli uzantı olmalıdır.