XR_ANDROID_recommended_resolution
Cadena de nombre
XR_ANDROID_recommended_resolution
Tipo de extensión
Extensión de la instancia
Número de extensión registrado
462
Revisión
1
Estado de ratificación
No se ratificó
Dependencias de extensiones y versiones
Fecha de la última modificación
Estado de la IP
Colaboradores
Trevor Debrechtabel, Google
Spencer Quin, Google
Lachlan Ford, Google
Vasiliy Baranov, Google
Descripción general
Esta extensión permite que el entorno de ejecución notifique a la aplicación cuando cambia la resolución recomendada, según el rendimiento actual del sistema, la temperatura del dispositivo o cualquier otro factor.
Esta extensión modifica la especificación de la siguiente manera:
- El tiempo de ejecución puede devolver contenido de búfer no idéntico desde la enumeración xrEnumerateViewConfigurationViews para los valores
systemIdyviewConfigurationTypedeterminados durante la vida útil de la instancia.
La estructura XrEventDataRecommendedResolutionChangedANDROID se define de la siguiente manera:
typedef struct XrEventDataRecommendedResolutionChangedANDROID {
XrStructureType type;
const void* next;
} XrEventDataRecommendedResolutionChangedANDROID;
Descripciones de los miembros
typees el XrStructureType de esta estructura.nextesNULLo un puntero a la siguiente estructura en una cadena de estructuras. No se definen tales estructuras en OpenXR principal ni en esta extensión.
Recibir la estructura del evento XrEventDataRecommendedResolutionChangedANDROID indica que cambió la resolución recomendada. La aplicación debe consultar el tiempo de ejecución para obtener la nueva resolución recomendada con xrEnumerateViewConfigurationViews .
Uso válido (implícito)
- La extensión
XR_ANDROID_recommended_resolutiondebe habilitarse antes de usar XrEventDataRecommendedResolutionChangedANDROID -
typedebe serXR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROID -
nextdebe serNULLo un puntero válido a la siguiente estructura en una cadena de estructuras
Ejemplo de código
En el siguiente ejemplo de código, se muestra cómo escuchar los eventos de cambio de resolución recomendados.
// 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;
}
}
Historial de versiones
Revisión 1, 4-4-2025 (Kenny Vercaemer)
- Descripción inicial de la extensión