Stringa del nome

XR_ANDROID_recommended_resolution

Tipo di estensione

Estensione dell'istanza

Numero di interno registrato

462

Revisione

1

Stato di ratifica

Non ratificato

Dipendenze da estensioni e versioni

OpenXR 1.0

Data ultima modifica

Stato IP

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 attuali del sistema, alla temperatura del dispositivo o ad altri fattori.

Questa estensione modifica la specifica nel seguente modo:

  • Il runtime potrebbe restituire contenuti del buffer non identici dall'enumerazione xrEnumerateViewConfigurationViews per i valori systemId e viewConfigurationType specificati per la durata dell'istanza.

La struttura XrEventDataRecommendedResolutionChangedANDROID è definita come:

typedef struct XrEventDataRecommendedResolutionChangedANDROID {
    XrStructureType    type;
    const void*        next;
} XrEventDataRecommendedResolutionChangedANDROID;

Descrizioni dei membri

  • type è l'XrStructureType di questa struttura.
  • next è NULL o un puntatore alla struttura successiva in una catena di strutture. Nessuna struttura di questo tipo è definita in OpenXR di base o in questa estensione.

La ricezione della struttura dell'evento XrEventDataRecommendedResolutionChangedANDROID indica che la risoluzione consigliata è cambiata. L'applicazione deve eseguire query sul runtime per la nuova risoluzione consigliata utilizzando xrEnumerateViewConfigurationViews .

Utilizzo valido (implicito)

Esempio di codice

Il seguente codice di esempio mostra come rilevare 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 = {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