XR_ANDROID_recommended_resolution
Stringa del nome
XR_ANDROID_recommended_resolution
Tipo di estensione
Estensione dell'istanza
Numero di estensione registrato
462
Revisione
1
Stato di ratifica
Non ratificato
Dipendenze di estensioni e versioni
Stato IP
Nessuna rivendicazione IP nota.
Collaboratori
Trevor Debrechtabel, Google
Spencer Quin, Google
Lachlan Ford, Google
Vasiliy Baranov, Google
Panoramica
Questa estensione consente al runtime di notificare all'applicazione quando la risoluzione consigliata cambia, in base alle prestazioni di sistema correnti, alle temperature del dispositivo o ad altri fattori.
Questa estensione modifica la specifica nel seguente modo:
- Il runtime può restituire contenuti del buffer non identici dall'enumerazione xrEnumerateViewConfigurationViews per i
systemIdeviewConfigurationTypespecificati per la durata dell'istanza.
La struttura XrEventDataRecommendedResolutionChangedANDROID è definita come segue:
typedef struct XrEventDataRecommendedResolutionChangedANDROID {
XrStructureType type;
const void* next;
} XrEventDataRecommendedResolutionChangedANDROID;
Descrizioni dei membri
typeè l'XrStructureType di questa struttura.nextèNULLo un puntatore alla struttura successiva in una catena di strutture. Non sono definite strutture di questo tipo in OpenXR core o in questa estensione.
La ricezione della struttura di eventi XrEventDataRecommendedResolutionChangedANDROID indica che la risoluzione consigliata è cambiata. L'applicazione deve eseguire una query sul runtime per la nuova risoluzione consigliata utilizzando xrEnumerateViewConfigurationViews .
Utilizzo valido (implicito)
- L'estensione
XR_ANDROID_recommended_resolutiondeve essere abilitata prima di utilizzare XrEventDataRecommendedResolutionChangedANDROID -
typedeve essereXR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROID -
nextdeve essereNULLo un puntatore valido alla struttura successiva in una catena di strutture
Esempio di codice
Il seguente esempio di codice mostra come ascoltare gli eventi di modifica della risoluzione consigliata.
// 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;
}
}
Cronologia delle versioni
Revisione 1, 04/04/2025 (Kenny Vercaemer)
- Descrizione iniziale dell'estensione