जब Config.TextureUpdateMode
को TextureUpdateMode.EXPOSE_HARDWARE_BUFFER
पर सेट किया जाता है, तो Session.update()
को कॉल करने पर, ARCore एक Android हार्डवेयर बफ़र उपलब्ध कराएगा. इस हार्डवेयर बफ़र को Vulkan VkImage
से जोड़ा जा सकता है.
आवेदन का सैंपल देखना
Vulkan रेंडरिंग से जुड़ी सहायता के बारे में hello_ar_vulkan_c सैंपल ऐप्लिकेशन में बताया गया है.
हार्डवेयर बफ़र आउटपुट मोड चालू करना
कॉन्फ़िगर किए गए 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 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) से ज़रूरी एक्सटेंशन होना ज़रूरी है.