XR_ANDROID_recommended_resolution
名稱字串
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 = {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)
- 擴充功能初始說明