XR_ANDROID_recommended_resolution
Name String
XR_ANDROID_recommended_resolution
Uzantı Türü
Örnek uzantısı
Kayıtlı Dahili Numara
462
Düzeltme
1
Onay Durumu
Onaylanmadı
Uzantı ve Sürüm Bağımlılıkları
IP Durumu
Bilinen bir fikri mülkiyet hak talebi yok.
Katkıda bulunanlar
Trevor Debrechtabel, Google
Spencer Quin, Google
Lachlan Ford, Google
Vasiliy Baranov, Google
Genel Bakış
Bu uzantı, mevcut sistem performansına, cihazın sıcaklığına veya diğer faktörlere göre önerilen çözünürlük değiştiğinde çalışma zamanının uygulamayı bilgilendirmesine olanak tanır.
Bu uzantı, spesifikasyonu aşağıdaki şekilde değiştirir:
- Çalışma zamanı, örneğin kullanım ömrü boyunca belirli
systemIdveviewConfigurationTypeiçin xrEnumerateViewConfigurationViews numaralandırmasından aynı olmayan arabellek içerikleri döndürebilir.
XrEventDataRecommendedResolutionChangedANDROID yapısı şu şekilde tanımlanır:
typedef struct XrEventDataRecommendedResolutionChangedANDROID {
XrStructureType type;
const void* next;
} XrEventDataRecommendedResolutionChangedANDROID;
Üye Açıklamaları
type, bu yapının XrStructureType değeridir.next,NULLveya bir yapı zincirindeki sonraki yapıya işaret eden bir göstergedir. Temel OpenXR'da veya bu uzantıda bu tür yapılar tanımlanmamıştır.
XrEventDataRecommendedResolutionChangedANDROID etkinlik yapısının alınması, önerilen çözünürlüğün değiştiğini gösterir. Uygulama, xrEnumerateViewConfigurationViews kullanarak yeni önerilen çözünürlük için çalışma zamanını sorgulamalıdır (should).
Geçerli Kullanım (Dolaylı)
- XrEventDataRecommendedResolutionChangedANDROID kullanılmadan önce
XR_ANDROID_recommended_resolutionuzantısı etkinleştirilmelidir -
typeXR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROIDolmalıdır -
next,NULLveya yapı zincirindeki bir sonraki yapıya geçerli bir işaretçi olmalıdır.
Örnek kod
Aşağıdaki örnek kodda, önerilen çözünürlük değişikliği etkinliklerinin nasıl dinleneceği gösterilmektedir.
// 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;
}
}
Sürüm Geçmişi
Düzeltme 1, 04.04.2025 (Kenny Vercaemer)
- İlk uzantı açıklaması