برنامه واقعیت افزوده خود را با استفاده از Vulkan در Android SDK (Kotlin/Java) رندر کنید

هنگامی که Config.TextureUpdateMode روی TextureUpdateMode.EXPOSE_HARDWARE_BUFFER تنظیم می شود، ARCore با فراخوانی Session.update() بافر سخت افزاری اندروید را ارائه می دهد. این بافر سخت افزاری را می توان به Vulkan VkImage متصل کرد.

مشاهده نمونه برنامه

پشتیبانی از رندر Vulkan در برنامه نمونه hello_ar_vulkan_c نشان داده شده است.

حالت خروجی بافر سخت افزاری را فعال کنید

Config.TextureUpdateMode پیکربندی شده تعیین می کند که ARCore چگونه بافت دوربین را به روز کند. وقتی روی TextureUpdateMode.EXPOSE_HARDWARE_BUFFER تنظیم شود، ARCore تصویر دوربین را از طریق HardwareBuffer ارائه می‌کند.

جلسه را برای استفاده از TextureUpdateMode.EXPOSE_HARDWARE_BUFFER پیکربندی کنید.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 از بافر سخت افزاری استفاده کنید

برای مثالی از نحوه ارائه یک برنامه AR با استفاده از Vulkan به vulkan_handler.cc مراجعه کنید.

دستگاه های پشتیبانی شده

پشتیبانی از رندر Vulkan فقط در سطوح Android API 27 و بالاتر در دسترس است. علاوه بر این، دستگاه باید از افزونه VK_ANDROID_external_memory_android_hardware_buffer پشتیبانی کند.

Vulkan را در مانیفست برنامه خود الزامی کنید

Google Play از <uses-feature> اعلام‌شده در مانیفست برنامه شما استفاده می‌کند تا برنامه شما را از دستگاه‌هایی که الزامات ویژگی‌های سخت‌افزاری و نرم‌افزاری آن را برآورده نمی‌کنند فیلتر کند. دستگاه‌هایی که از Vulkan 1.0 استفاده می‌کنند ممکن است از برنامه افزودنی مورد نیاز پشتیبانی نکنند ، اما دستگاه‌های سازگار با Vulkan 1.1 باید برنامه افزودنی لازم را که از Android 10 شروع می‌شود (سطح API 29) داشته باشند.