Android NDK (C) पर Vulkan का इस्तेमाल करके, अपना एआर (ऑगमेंटेड रिएलिटी) ऐप्लिकेशन रेंडर करें

ArTextureUpdateMode को AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER पर सेट करने से ArSession_update() को कॉल करने पर, ARCore एक Android हार्डवेयर बफ़र उपलब्ध कराएगा. इस हार्डवेयर बफ़र को Vulkan VkImage से जोड़ा जा सकता है.

ऐप्लिकेशन का सैंपल देखें

Vulkan रेंडरिंग से जुड़ी सहायता के बारे में hello_ar_vulkan_c सैंपल ऐप्लिकेशन में बताया गया है.

हार्डवेयर बफ़र आउटपुट मोड को चालू करें

कॉन्फ़िगर किए गए ArTextureUpdateMode से यह तय होता है कि ARCore, कैमरे के टेक्सचर को कैसे अपडेट करेगा. AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER पर सेट करने पर ARCore, AHardwareBuffer की मदद से कैमरे की इमेज दिखाएगा.

AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER का इस्तेमाल करने के लिए सेशन को कॉन्फ़िगर करें:

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);

हार्डवेयर बफ़र पाएं

AR_TEXTURE_UPDATE_MODE_EXPOSE_HARDWARE_BUFFER के चालू होने पर, ArFrame_getHardwareBuffer() का इस्तेमाल करके हार्डवेयर बफ़र पाएं:

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 रेंडरिंग के दौरान, हार्डवेयर बफ़र का इस्तेमाल करना

Vulkan का इस्तेमाल करके एआर ऐप्लिकेशन को रेंडर करने का उदाहरण देखने के लिए, vulkan_handler.cc को देखें.

वे डिवाइस जिन पर YouTube ऐप्लिकेशन से YouTube Kids का इस्तेमाल किया जा सकता है

Vulkan को रेंडर करने की सुविधा सिर्फ़ Android के एपीआई लेवल 27 और पढ़ें. इसके अलावा, डिवाइस पर VK_ANDROID_external_memory_android_hardware_buffer एक्सटेंशन काम करना चाहिए.

आपके ऐप्लिकेशन के मेनिफ़ेस्ट में Vulkan को शामिल करना ज़रूरी है

Google Play, आपके ऐप्लिकेशन मेनिफ़ेस्ट में बताए गए <uses-feature> का इस्तेमाल करके, ऐप्लिकेशन को ऐसे डिवाइसों से डाउनलोड करें जो इसके हार्डवेयर और सॉफ़्टवेयर की सुविधाओं की ज़रूरी शर्तों को पूरा न करते हों. Vulkan 1.0 का इस्तेमाल करने वाले डिवाइसों में ज़रूरी एक्सटेंशन काम नहीं किया जा सकता. हालांकि, कुछ डिवाइसों पर इसका इस्तेमाल किया जा सकता है Vulkan 1.1 के साथ काम करने वाले वर्शन में Android 10 (एपीआई लेवल 29) से शुरू होने वाला ज़रूरी एक्सटेंशन होना चाहिए.