XR_ANDROID_recommended_resolution
Chaîne de nom
XR_ANDROID_recommended_resolution
Type d'extension
Extension d'instance
Numéro d'extension enregistré
462
Révision
1
État de ratification
Non ratifié
Dépendances d'extension et de version
Date de dernière modification
État de la propriété intellectuelle
Contributeurs
Trevor Debrechtabel, Google
Spencer Quin, Google
Lachlan Ford, Google
Vasiliy Baranov, Google
Présentation
Cette extension permet au runtime d'informer l'application lorsque la résolution recommandée change, en fonction des performances actuelles du système, de la température de l'appareil ou d'autres facteurs.
Cette extension modifie la spécification comme suit :
- Le runtime peut renvoyer des contenus de mémoire tampon non identiques à partir de l'énumération xrEnumerateViewConfigurationViews pour les
systemIdetviewConfigurationTypedonnés pendant la durée de vie de l'instance.
La structure XrEventDataRecommendedResolutionChangedANDROID est définie comme suit :
typedef struct XrEventDataRecommendedResolutionChangedANDROID {
XrStructureType type;
const void* next;
} XrEventDataRecommendedResolutionChangedANDROID;
Descriptions des membres
typecorrespond au XrStructureType de cette structure.nextestNULLou un pointeur vers la structure suivante dans une chaîne de structures. Aucune structure de ce type n'est définie dans le noyau OpenXR ni dans cette extension.
La réception de la structure d'événement XrEventDataRecommendedResolutionChangedANDROID indique que la résolution recommandée a changé. L'application doit interroger le runtime pour obtenir la nouvelle résolution recommandée à l'aide de xrEnumerateViewConfigurationViews .
Utilisation valide (implicite)
- L'extension
XR_ANDROID_recommended_resolutiondoit être activée avant d'utiliser XrEventDataRecommendedResolutionChangedANDROID. -
typedoit êtreXR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROID -
nextdoit êtreNULLou un pointeur valide vers la structure suivante dans une chaîne de structures
Exemple de code
L'exemple de code suivant montre comment écouter les événements de modification de la résolution recommandée.
// 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;
}
}
Historique des versions
Révision 1, 04/04/2025 (Kenny Vercaemer)
- Description initiale de l'extension