XR_ANDROID_recommended_resolution
Name String
XR_ANDROID_recommended_resolution
ประเภทส่วนขยาย
ส่วนขยายอินสแตนซ์
หมายเลขต่อที่ลงทะเบียนไว้
462
การแก้ไข
1
สถานะการให้สัตยาบัน
ไม่ได้รับการให้สัตยาบัน
ทรัพยากร Dependency ของส่วนขยายและเวอร์ชัน
สถานะ IP
ไม่มีการอ้างสิทธิ์ IP ที่ทราบ
ผู้เขียน
Trevor Debrechtabel, Google
Spencer Quin, Google
Lachlan Ford, Google
Vasiliy Baranov, Google
ภาพรวม
ส่วนขยายนี้ช่วยให้รันไทม์แจ้งเตือนแอปพลิเคชันเมื่อความละเอียดที่แนะนำมีการเปลี่ยนแปลง โดยอิงตามประสิทธิภาพของระบบในปัจจุบัน อุณหภูมิของอุปกรณ์ หรือปัจจัยอื่นๆ
ส่วนขยายนี้จะแก้ไขข้อกำหนดเฉพาะในลักษณะต่อไปนี้
- รันไทม์อาจแสดงเนื้อหาบัฟเฟอร์ที่ไม่เหมือนกันจากการแจงนับ xrEnumerateViewConfigurationViews สำหรับ
systemIdและviewConfigurationTypeที่ระบุตลอดอายุการใช้งานของอินสแตนซ์
โครงสร้าง 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, 04-04-2025 (Kenny Vercaemer)
- คำอธิบายส่วนขยายเริ่มต้น