XR_ANDROID_recommended_resolution
Name String
XR_ANDROID_recommended_resolution
擴充功能類型
執行個體擴充功能
擴充功能註冊編號
462
修訂版本
1
批准狀態
未批准
擴充功能和版本依附元件
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 = {
.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)
- 初始擴充功能說明