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 का इस्तेमाल करने के लिए सेशन को कॉन्फ़िगर करें:

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) से शुरू होना चाहिए.