जब 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
का इस्तेमाल करने के लिए सेशन को कॉन्फ़िगर करें:
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()
का इस्तेमाल करें:
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) से ज़रूरी एक्सटेंशन होना ज़रूरी है.