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.