XR_ANDROID_recommended_resolution
سلسلة الاسم
XR_ANDROID_recommended_resolution
نوع الإضافة
إضافة الجهاز الافتراضي
رقم الإضافة المسجَّلة
462
المراجعة
1
حالة التصديق
لم يتم التصديق عليها
الإضافات والإصدارات التي تعتمد عليها
تاريخ آخر تعديل
حالة الملكية الفكرية
المساهمون
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 = {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)
- الوصف الأولي للإضافة