XR_ANDROID_recommended_resolution
名前文字列
XR_ANDROID_recommended_resolution
拡張機能の種類
インスタンス拡張機能
登録済み拡張機能番号
462
リビジョン
1
批准ステータス
未批准
拡張機能とバージョンの依存関係
IP ステータス
既知の 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 を使用して、新しい推奨解像度をランタイムにクエリする必要があります 。
有効な使用方法(暗黙的)
- 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、2025-04-04(Kenny Vercaemer)
- 拡張機能の最初の説明