XR_ANDROID_recommended_resolution
Name String
XR_ANDROID_recommended_resolution
نوع الإضافة
إضافة مثيل
رقم الإضافة المسجَّل
462
المراجعة
1
حالة التصديق
لم تتم المصادقة عليها
الاعتماد على الإضافات والإصدارات
حالة الملكية الفكرية
ما مِن مطالبات معروفة بشأن الملكية الفكرية.
المساهمون
"تريفور ديبريشتيبل"، Google
"سبنسر كوين"، Google
"لاكلان فورد"، Google
"فاسيلي بارانوف"، 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 - يجب أن يكون
typeXR_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، بتاريخ 4 أبريل 2025 (كيني فيركايمر)
- الوصف الأولي للإضافة