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;}
Menggunakan buffer hardware selama rendering Vulkan
Lihat vulkan_handler.cc untuk mengetahui contoh cara merender aplikasi AR menggunakan Vulkan.
Perangkat yang didukung
Dukungan rendering Vulkan hanya tersedia di level API Android 27 dan
yang lebih tinggi. Selain itu, perangkat harus mendukung ekstensi VK_ANDROID_external_memory_android_hardware_buffer.
Mewajibkan Vulkan dalam manifes aplikasi
Google Play menggunakan <uses-feature> yang dideklarasikan dalam manifes aplikasi untuk memfilter
aplikasi dari perangkat yang tidak memenuhi persyaratan fitur hardware dan software.
Perangkat yang menggunakan Vulkan 1.0 mungkin tidak mendukung ekstensi yang diperlukan, tetapi perangkat
yang kompatibel dengan Vulkan 1.1 harus memiliki ekstensi yang diperlukan mulai dari Android 10 (level API 29).
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-26 UTC."],[[["ARCore can provide the camera image as an Android hardware buffer for efficient Vulkan rendering by setting `ArTextureUpdateMode` to `AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER`."],["This hardware buffer can be accessed using `ArFrame_getHardwareBuffer()` and bound to a Vulkan `VkImage` for rendering."],["Vulkan rendering with ARCore is supported on Android API levels 27 and above, requiring devices to support the `VK_ANDROID_external_memory_android_hardware_buffer` extension."],["To ensure compatibility, declare Vulkan requirements in your app's manifest using `\u003cuses-feature\u003e`, targeting devices with Vulkan 1.1 for guaranteed support on Android 10 and above."],["A sample implementation of Vulkan rendering with ARCore can be found in the `hello_ar_vulkan_c` sample app."]]],["To enable hardware buffer access, set `ArTextureUpdateMode` to `AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER` using `ArConfig_setTextureUpdateMode`. After calling `ArSession_update()`, use `ArFrame_getHardwareBuffer()` to obtain the `AHardwareBuffer`. If using the buffer beyond the next `ArSession_update()`, call `AHardwareBuffer_acquire()` and `AHardwareBuffer_release()`. Vulkan rendering is supported on Android API 27+ with the `VK_ANDROID_external_memory_android_hardware_buffer` extension. Incompatible devices will return an error.\n"]]