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

जब Config.TextureUpdateMode को TextureUpdateMode.EXPOSE_HARDWARE_BUFFER पर सेट किया जाता है, तो Session.update() को कॉल करने पर, ARCore एक Android हार्डवेयर बफ़र उपलब्ध कराएगा. इस हार्डवेयर बफ़र को Vulkan VkImage से बंधा जा सकता है.

आवेदन का सैंपल देखना

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

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

कॉन्फ़िगर किया गया Config.TextureUpdateMode यह तय करता है कि ARCore, कैमरे के टेक्सचर को कैसे अपडेट करेगा. इसे TextureUpdateMode.EXPOSE_HARDWARE_BUFFER पर सेट करने पर, ARCore HardwareBuffer की मदद से कैमरे की इमेज देगा.

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

JavaKotlin
Config config = session.getConfig();
config.setTextureUpdateMode(Config.TextureUpdateMode.EXPOSE_HARDWARE_BUFFER);
session.configure(config);
session.configure(
  session.config.apply { textureUpdateMode = Config.TextureUpdateMode.EXPOSE_HARDWARE_BUFFER }
)

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

TextureUpdateMode.EXPOSE_HARDWARE_BUFFER चालू होने पर, हार्डवेयर बफ़र पाने के लिए Frame.getHardwareBuffer() का इस्तेमाल करें:

JavaKotlin
try {
  HardwareBuffer buffer = frame.getHardwareBuffer();
  // Use the buffer object in your rendering.
} catch (NotYetAvailableException e) {
  // The hardware buffer is not ready yet.
}
try {
  val buffer = frame.hardwareBuffer
  // Use the buffer object in your rendering.
} catch (e: NotYetAvailableException) {
  // The hardware buffer is not ready yet.
}

Vulkan रेंडरिंग के दौरान हार्डवेयर बफ़र का इस्तेमाल करना

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

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

Vulkan रेंडरिंग की सुविधा, सिर्फ़ Android के एपीआई लेवल 27 और उसके बाद के वर्शन पर उपलब्ध है. इसके अलावा, यह ज़रूरी है कि डिवाइस पर VK_ANDROID_external_memory_android_hardware_buffer एक्सटेंशन काम करता हो.

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

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