XR_ANDROID_recommended_resolution
Name String
XR_ANDROID_recommended_resolution
拡張機能のタイプ
インスタンス拡張機能
Registered Extension Number
462
リビジョン
1
Ratification Status(批准ステータス)
未批准
拡張機能とバージョンの依存関係
最終更新日
IP ステータス
寄与者
Trevor Debrechtabel、Google
Spencer Quin、Google
Lachlan Ford、Google
Vasiliy Baranov、Google
概要
この拡張機能により、現在のシステム パフォーマンス、デバイスの温度、その他の要因に基づいて推奨解像度が変更されたときに、ランタイムがアプリケーションに通知できるようになります。
この拡張機能は、仕様を次のように変更します。
- ランタイムは、インスタンスの存続期間中、指定された
systemIdとviewConfigurationTypeに対して、xrEnumerateViewConfigurationViews 列挙から同一でないバッファ コンテンツを返すことがあります。
XrEventDataRecommendedResolutionChangedANDROID 構造は次のように定義されます。
typedef struct XrEventDataRecommendedResolutionChangedANDROID {
XrStructureType type;
const void* next;
} XrEventDataRecommendedResolutionChangedANDROID;
メンバーの説明
typeは、この構造の XrStructureType です。nextは、NULLまたは構造体チェーン内の次の構造体へのポインタです。コア OpenXR またはこの拡張機能では、このような構造は定義されていません。
XrEventDataRecommendedResolutionChangedANDROID イベント構造を受け取ると、推奨される解像度が変更されたことが示されます。アプリケーションは、xrEnumerateViewConfigurationViews を使用して、新しい推奨解像度についてランタイムにクエリを送信すべきです。
有効な使用方法(暗黙的)
-
XR_ANDROID_recommended_resolution拡張機能は、XrEventDataRecommendedResolutionChangedANDROID を使用する前に有効にしなければなりません。 -
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 = {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)
- 拡張機能の最初の説明