رشته نام

XR_ANDROID_recommended_resolution

نوع افزونه

افزونه نمونه

شماره داخلی ثبت شده

۴۶۲

بازنگری

۱

وضعیت تصویب

تصویب نشده

وابستگی‌های افزونه و نسخه

اوپن‌ایکس‌آر ۱.۰

آخرین تاریخ اصلاح

وضعیت آی‌پی

مشارکت‌کنندگان

ترور دبرشتبل، گوگل
اسپنسر کوئین، گوگل
لاکلان فورد، گوگل
واسیلی بارانوف، گوگل

نمای کلی

این افزونه به زمان اجرا اجازه می‌دهد تا در صورت تغییر وضوح پیشنهادی، بر اساس عملکرد فعلی سیستم، دمای دستگاه یا سایر عوامل، به برنامه اطلاع دهد.

این افزونه مشخصات را به روش زیر تغییر می‌دهد:

  • ممکن است زمان اجرا، محتویات بافر غیر یکسانی را از شمارش xrEnumerateViewConfigurationViews برای systemId و viewConfigurationType داده شده برای طول عمر نمونه، برگرداند.

The XrEventDataRecommendedResolutionChangedANDROID structure is defined as:

typedef struct XrEventDataRecommendedResolutionChangedANDROID {
    XrStructureType    type;
    const void*        next;
} XrEventDataRecommendedResolutionChangedANDROID;

توضیحات اعضا

  • type نوع XrStructureType این ساختار است.
  • next با NULL یا اشاره‌گری به ساختار بعدی در یک زنجیره ساختار است. چنین ساختارهایی در هسته OpenXR یا این افزونه تعریف نشده‌اند.

دریافت ساختار رویداد XrEventDataRecommendedResolutionChangedANDROID نشان می‌دهد که وضوح پیشنهادی تغییر کرده است. برنامه باید با استفاده از xrEnumerateViewConfigurationViews، زمان اجرا را برای وضوح پیشنهادی جدید جستجو کند.

کاربرد معتبر (ضمنی)

کد مثال

کد مثال زیر نحوه‌ی گوش دادن به رویدادهای تغییر رزولوشن پیشنهادی را نشان می‌دهد.

// Created at app startup time.
XrInstance instance;
XrSystemId systemId; // Previously initialized.
uint32_t viewCountOutput; // Previously initialized.

// View configuration type the application uses.
XrViewConfigurationType viewConfigType;

// Poll events for recommended resolution changes.
XrEventDataBuffer event = {XR_TYPE_EVENT_DATA_BUFFER};
XrResult result = xrPollEvent(instance, &event);
if (result == XR_SUCCESS) {
  switch (event.type) {
    case XR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROID: {
        uint32_t viewCapacityInput = viewCountOutput;
        std::vector<XrViewConfigurationView> views(viewCapacityInput);
        result = xrEnumerateViewConfigurationViews(instance, systemId,
          viewConfigType, viewCapacityInput, &viewCountOutput, views.data());
        if(!XR_SUCCEEDED(result)) {
          // Handle error
        }

        // New recommended resolution is found in
        // views.recommendedImageRectWidth and views.recommendedImageRectHeight
        // Change the resolution for the viewConfigType
      break;
    }
    default:
      break;
  }
}

تاریخچه نسخه

  • نسخه ۱، ۲۰۲۵-۰۴-۰۴ (کنی ورکامر)

    • توضیحات اولیه افزونه