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
ภาพรวม
ส่วนขยายนี้ช่วยให้รันไทม์แจ้งเตือนแอปพลิเคชันได้เมื่อความละเอียดที่แนะนำมีการเปลี่ยนแปลง โดยอิงตามประสิทธิภาพของระบบในปัจจุบัน ความร้อนของอุปกรณ์ หรือปัจจัยอื่นๆ
ส่วนขยายนี้จะแก้ไขข้อกำหนดในลักษณะต่อไปนี้
- รันไทม์อาจแสดงผลเนื้อหาบัฟเฟอร์ที่ไม่เหมือนกันจากการแจงนับ xrEnumerateViewConfigurationViews สำหรับ
systemIdและviewConfigurationTypeที่ระบุตลอดอายุการใช้งานของอินสแตนซ์
โครงสร้าง XrEventDataRecommendedResolutionChangedANDROID มีคำจำกัดความดังนี้
typedef struct XrEventDataRecommendedResolutionChangedANDROID {
XrStructureType type;
const void* next;
} XrEventDataRecommendedResolutionChangedANDROID;
คำอธิบายสมาชิก
typeคือ XrStructureType ของโครงสร้างนี้nextคือNULLหรือ Pointer ไปยังโครงสร้างถัดไปในเชนโครงสร้าง ไม่มีการกำหนดโครงสร้างดังกล่าวใน OpenXR หลักหรือส่วนขยายนี้
การรับโครงสร้างเหตุการณ์ XrEventDataRecommendedResolutionChangedANDROID แสดงว่าความละเอียดที่แนะนำมีการเปลี่ยนแปลง แอปพลิเคชันควรค้นหาความละเอียดใหม่ที่แนะนำในรันไทม์โดยใช้ xrEnumerateViewConfigurationViews
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้
XR_ANDROID_recommended_resolutionส่วนขยายก่อนใช้ XrEventDataRecommendedResolutionChangedANDROID -
typeต้องเป็นXR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROID -
nextต้องเป็นNULLหรือ Pointer ที่ถูกต้องไปยังโครงสร้างถัดไปในห่วงโซ่โครงสร้าง
โค้ดตัวอย่าง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับฟังเหตุการณ์การเปลี่ยนแปลงความละเอียดที่แนะนำ
// 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, 04-04-2025 (Kenny Vercaemer)
- คำอธิบายส่วนขยายเริ่มต้น