عرض تطبيق الواقع المعزّز باستخدام Vulkan على حزمة تطوير البرامج (SDK) لنظام التشغيل Android (Kotlin/Java)

عند ضبط Config.TextureUpdateMode على TextureUpdateMode.EXPOSE_HARDWARE_BUFFER، سيوفّر ARCore مخازن ذاكرة مؤقتة للأجهزة في Android عند استدعاء Session.update(). يمكن ربط مخزن الأجهزة هذا بوحدة تحكم 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_handler.cc للاطّلاع على مثال حول كيفية عرض تطبيق الواقع المعزّز باستخدام Vulkan.

الأجهزة المتوافقة

لا تتوفّر ميزة عرض Vulkan إلا في الإصدارات 27 من واجهة برمجة التطبيقات لنظام التشغيل Android والإصدارات الأحدث. بالإضافة إلى ذلك، يجب أن يتيح الجهاز استخدام الإضافة "VK_ANDROID_external_memory_android_hardware_buffer".

اشتراط استخدام Vulkan في بيان تطبيقك

يستخدم Google Play اللغة <uses-feature> الموضَّحة في بيان التطبيق لفلترة بياناتك. تطبيق من أجهزة لا تستوفي متطلبات ميزات الأجهزة والبرامج. قد لا تتوافق الأجهزة التي تستخدم Vulkan 1.0 مع الإضافة المطلوبة، ولكن قد لا تكون متوافقة مع الأجهزة. متوافق مع Vulkan 1.1 يجب أن تتضمّن الإضافة المطلوبة التي تبدأ في Android 10 (مستوى واجهة برمجة التطبيقات 29).