Name String

XR_ANDROID_recommended_resolution

Uzantı Türü

Örnek uzantısı

Kayıtlı Uzantı Numarası

462

Düzeltme

1

Onay Durumu

Onaylanmadı

Uzantı ve Sürüm Bağımlılıkları

OpenXR 1.0

Son Değiştirilme Tarihi

IP Durumu

Katkıda bulunanlar

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

Genel Bakış

Bu uzantı, çalışma zamanının mevcut sistem performansı, cihazın ısınması veya diğer faktörlere bağlı olarak önerilen çözünürlük değiştiğinde uygulamaya bildirim göndermesine olanak tanır.

Bu uzantı, spesifikasyonu aşağıdaki şekilde değiştirir:

  • Çalışma zamanı, örneğin ömrü boyunca verilen systemId ve viewConfigurationType için xrEnumerateViewConfigurationViews numaralandırmasından aynı olmayan arabellek içerikleri döndürebilir.

XrEventDataRecommendedResolutionChangedANDROID yapısı şu şekilde tanımlanır:

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

Üye Açıklamaları

  • type, bu yapının XrStructureType'ıdır.
  • next, NULL veya bir yapı zincirindeki sonraki yapının işaretçisidir. Temel OpenXR'de veya bu uzantıda bu tür yapılar tanımlanmamıştır.

XrEventDataRecommendedResolutionChangedANDROID etkinlik yapısının alınması, önerilen çözünürlüğün değiştiğini gösterir. Uygulama, xrEnumerateViewConfigurationViews kullanarak yeni önerilen çözünürlük için çalışma zamanına sorgu göndermelidir .

Geçerli Kullanım (Dolaylı)

Örnek kod

Aşağıdaki örnek kod, önerilen çözünürlük değişikliği etkinliklerinin nasıl dinleneceğini gösterir.

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

Sürüm Geçmişi

  • 1. düzeltme, 04.04.2025 (Kenny Vercaemer)

    • İlk uzantı açıklaması