XR_ANDROID_recommended_resolution
Cadena de nombres
XR_ANDROID_recommended_resolution
Tipo de extensión
Extensión de instancia
Número de extensión registrada
462
Revisión
1
Estado de ratificación
No ratificado
Dependencias de extensión y versión
Estado de IP
No se conocen reclamos de IP.
Colaboradores
Trevor Debrechtabel, Google
Spencer Quin, Google
Lachlan Ford, Google
Vasiliy Baranov, Google
Descripción general
Esta extensión permite que el tiempo 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 mostrar contenido de búfer no idéntico de la enumeración xrEnumerateViewConfigurationViews para el
systemIdy elviewConfigurationTypedeterminados 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 esas estructuras en OpenXR principal ni en esta extensión.
Recibir la estructura de eventos 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 recomendada.
// 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;
}
}
Historial de versiones
Revisión 1, 04/04/2025 (Kenny Vercaemer)
- Descripción inicial de la extensión