מחרוזת שם

XR_ANDROID_recommended_resolution

סוג התוסף

הרחבת המכונה

מספר שלוחה רשום

462

Revision

1

סטטוס האישור

לא אושר

תלות בתוסף ובגרסה

OpenXR 1.0

תאריך השינוי האחרון

סטטוס כתובת ה-IP

שותפים ביצירת התוכן

‫Trevor Debrechtabel, ‏ Google
‫Spencer Quin, ‏ Google
‫Lachlan Ford, ‏ Google
‫Vasiliy Baranov, ‏ Google

סקירה כללית

התוסף הזה מאפשר לסביבת זמן הריצה להודיע לאפליקציה כשהרזולוציה המומלצת משתנה, על סמך ביצועי המערכת הנוכחיים, הטמפרטורה של המכשיר או גורמים אחרים.

התוסף הזה משנה את המפרט באופן הבא:

  • יכול להיות שסביבת זמן הריצה תחזיר תוכן שונה של מאגרים מהספירה xrEnumerateViewConfigurationViews עבור systemId ו-viewConfigurationType הנתונים למשך מחזור החיים של המופע.

המבנה XrEventDataRecommendedResolutionChangedANDROID מוגדר כך:

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;
  }
}

היסטוריית גרסאות

  • גרסה 1, ‏ 04.04.2025 (Kenny Vercaemer)

    • תיאור ראשוני של התוסף