Name String

XR_ANDROID_recommended_resolution

拡張機能のタイプ

インスタンス拡張機能

Registered Extension Number

462

リビジョン

1

Ratification Status(批准ステータス)

未批准

拡張機能とバージョンの依存関係

OpenXR 1.0

最終更新日

IP ステータス

寄与者

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

概要

この拡張機能により、現在のシステム パフォーマンス、デバイスの温度、その他の要因に基づいて推奨解像度が変更されたときに、ランタイムがアプリケーションに通知できるようになります。

この拡張機能は、仕様を次のように変更します。

  • ランタイムは、インスタンスの存続期間中、指定された systemIdviewConfigurationType に対して、xrEnumerateViewConfigurationViews 列挙から同一でないバッファ コンテンツを返すことがあります。

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、2025-04-04(Kenny Vercaemer)

    • 拡張機能の最初の説明