अगर 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
का इस्तेमाल करने के लिए सेशन को कॉन्फ़िगर करें:
Java
Config config = session.getConfig(); config.setTextureUpdateMode(Config.TextureUpdateMode.EXPOSE_HARDWARE_BUFFER); session.configure(config);
Kotlin
session.configure( session.config.apply { textureUpdateMode = Config.TextureUpdateMode.EXPOSE_HARDWARE_BUFFER } )
हार्डवेयर बफ़र हासिल करें
TextureUpdateMode.EXPOSE_HARDWARE_BUFFER
के चालू होने पर, हार्डवेयर बफ़र पाने के लिए Frame.getHardwareBuffer()
का इस्तेमाल करें:
Java
try { HardwareBuffer buffer = frame.getHardwareBuffer(); // Use the buffer object in your rendering. } catch (NotYetAvailableException e) { // The hardware buffer is not ready yet. }
Kotlin
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 ऐप्लिकेशन से 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) से शुरू होना चाहिए.