ArTextureUpdateMode
, AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER
olarak ayarlandığında ArSession_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ış ArTextureUpdateMode
, ARCore'un kamera dokusunu nasıl güncelleyeceğini belirler. Politika AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER
olarak ayarlandığında ARCore, kamera görüntüsünü bir AHardwareBuffer
üzerinden sağlar.
Oturumu AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER
kullanacak şekilde yapılandırın:
ArConfig* ar_config = NULL; ArConfig_create(ar_session, &ar_config); ArConfig_setTextureUpdateMode(ar_session, ar_config, AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER); CHECK(ArSession_configure(ar_session, ar_config) == AR_SUCCESS); ArConfig_destroy(ar_config);
Donanım arabelleğini alma
AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER
etkinleştirildiğinde donanım arabelleğini almak için ArFrame_getHardwareBuffer()
işlevini kullanın:
void* native_hardware_buffer = NULL; ArFrame_getHardwareBuffer(ar_session, ar_frame, &native_hardware_buffer); if ((int64_t)native_hardware_buffer == 0) { // The hardware buffer isn't ready yet. return; }
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.