XR_ANDROID_recommended_resolution
String-Name
XR_ANDROID_recommended_resolution
Erweiterungstyp
Instanzerweiterung
Registrierte Erweiterungsnummer
462
Revision
1
Ratifizierungsstatus
Nicht ratifiziert
Abhängigkeiten von Erweiterungen und Versionen
IP-Status
Keine bekannten IP-Ansprüche.
Mitwirkende
Trevor Debrechtabel, Google
Spencer Quin, Google
Lachlan Ford, Google
Vasiliy Baranov, Google
Übersicht
Mit dieser Erweiterung kann die Laufzeit die Anwendung benachrichtigen, wenn sich die empfohlene Auflösung ändert. Die Änderung basiert auf der aktuellen Systemleistung, der Gerätetemperatur oder anderen Faktoren.
Diese Erweiterung ändert die Spezifikation auf folgende Weise:
- Die Laufzeit kann für die angegebene
systemIdundviewConfigurationTypefür die Lebensdauer der Instanz nicht identische Pufferinhalte aus der xrEnumerateViewConfigurationViews-Aufzählung zurückgeben.
Die Struktur XrEventDataRecommendedResolutionChangedANDROID ist wie folgt definiert:
typedef struct XrEventDataRecommendedResolutionChangedANDROID {
XrStructureType type;
const void* next;
} XrEventDataRecommendedResolutionChangedANDROID;
Mitgliederbeschreibungen
typeist der XrStructureType dieser Struktur.nextistNULLoder ein Zeiger auf die nächste Struktur in einer Strukturkette. In OpenXR Core oder dieser Erweiterung sind keine solchen Strukturen definiert.
Der Empfang der Ereignisstruktur XrEventDataRecommendedResolutionChangedANDROID gibt an, dass sich die empfohlene Auflösung geändert hat. Die Anwendung sollte die Laufzeit mit xrEnumerateViewConfigurationViews nach der neuen empfohlenen Auflösung fragen .
Gültige Verwendung (implizit)
- Die Erweiterung
XR_ANDROID_recommended_resolutionmuss aktiviert sein, bevor XrEventDataRecommendedResolutionChangedANDROID verwendet wird. -
typemuss seinXR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROID -
nextmussNULLoder ein gültiger Zeiger auf die nächste Struktur in einer Strukturkette sein.
Beispielcode
Der folgende Beispielcode zeigt, wie Sie auf Ereignisse zur Änderung der empfohlenen Auflösung warten.
// 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;
}
}
Versionsverlauf
Revision 1, 04.04.2025 (Kenny Vercaemer)
- Erste Beschreibung der Erweiterung