नाम की स्ट्रिंग

XR_ANDROID_recommended_resolution

एक्सटेंशन का टाइप

इंस्टेंस एक्सटेंशन

रजिस्टर किए गए एक्सटेंशन का नंबर

462

संशोधन

1

पुष्टि की स्थिति

पुष्टि नहीं की गई

एक्सटेंशन और वर्शन की ज़रूरी शर्तें

OpenXR 1.0

आईपी की स्थिति

आईपी से जुड़े किसी दावे की जानकारी नहीं है.

योगदान देने वाले

ट्रेवर डेब्रेक्टेबल, Google
स्पेंसर क्विन, Google
लैचलैन फ़ोर्ड, Google
वासिली बारानोव, Google

खास जानकारी

इस एक्सटेंशन की मदद से, रनटाइम ऐप्लिकेशन को तब सूचना भेज सकता है, जब मौजूदा सिस्टम परफ़ॉर्मेंस, डिवाइस के तापमान या अन्य फ़ैक्टर के आधार पर, सुझाए गए रिज़ॉल्यूशन में बदलाव होता है.

यह एक्सटेंशन, खास जानकारी में इस तरह बदलाव करता है:

  • रनटाइम, इंस्टेंस की पूरी अवधि के लिए, दिए गए systemId और viewConfigurationType के लिए, xrEnumerateViewConfigurationViews एन्यूमरेशन से, एक जैसे बफ़र कॉन्टेंट नहीं दिखा सकता.

XrEventDataRecommendedResolutionChangedANDROID स्ट्रक्चर को इस तरह तय किया गया है:

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

सदस्यों की जानकारी

  • type, इस स्ट्रक्चर का XrStructureType है.
  • next, NULL या स्ट्रक्चर चेन में अगले स्ट्रक्चर का पॉइंटर है. कोर OpenXR या इस एक्सटेंशन में, ऐसे कोई स्ट्रक्चर तय नहीं किए गए हैं.

XrEventDataRecommendedResolutionChangedANDROID इवेंट स्ट्रक्चर मिलने का मतलब है कि सुझाए गए रिज़ॉल्यूशन में बदलाव हुआ है. ऐप्लिकेशन को xrEnumerateViewConfigurationViews का इस्तेमाल करके, रनटाइम से सुझाए गए नए रिज़ॉल्यूशन के बारे में क्वेरी करनी चाहिए .

मान्य इस्तेमाल (सीधे तौर पर)

  • XrEventDataRecommendedResolutionChangedANDROID का इस्तेमाल करने से पहले, XR_ANDROID_recommended_resolution एक्सटेंशन चालू होना चाहिए
  • , type होना चाहिए XR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROID
  • next होना चाहिए NULL या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर

कोड का उदाहरण

यहां दिए गए कोड के उदाहरण से पता चलता है कि सुझाए गए रिज़ॉल्यूशन में बदलाव के इवेंट को कैसे सुना जा सकता है.

// 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 = {
  .type = 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 (कैनी वर्केमर)

    • एक्सटेंशन की शुरुआती जानकारी