이름 문자열

XR_ANDROID_recommended_resolution

확장 프로그램 유형

인스턴스 확장 프로그램

등록된 확장 프로그램 번호

462

버전

1

비준 상태

비준되지 않음

확장 프로그램 및 버전 종속 항목

OpenXR 1.0

IP 상태

알려진 IP 클레임이 없습니다.

도움을 주신 분들

Trevor Debrechtabel, Google
Spencer Quin, Google
Lachlan Ford, Google
Vasiliy Baranov, Google

개요

이 확장 프로그램을 사용하면 런타임이 현재 시스템 성능, 기기 온도 또는 기타 요인에 따라 권장 해상도가 변경될 때 애플리케이션에 알릴 수 있습니다.

이 확장 프로그램은 다음과 같은 방식으로 사양을 수정합니다.

  • 런타임은 인스턴스의 수명 동안 지정된 systemIdviewConfigurationType에 대해 xrEnumerateViewConfigurationViews 열거형에서 동일하지 않은 버퍼 콘텐츠를 반환할 수 있습니다.

XrEventDataRecommendedResolutionChangedANDROID 구조는 다음과 같이 정의됩니다.

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

구성원 설명

  • type은 이 구조의 XrStructureType입니다.
  • nextNULL이거나 구조 체인의 다음 구조를 가리키는 포인터입니다. 이러한 구조는 핵심 OpenXR 또는 이 확장 프로그램에 정의되어 있지 않습니다.

XrEventDataRecommendedResolutionChangedANDROID 이벤트 구조를 수신하면 권장 해상도가 변경되었음을 나타냅니다. 애플리케이션은 xrEnumerateViewConfigurationViews 를 사용하여 새 권장 해상도에 관해 런타임을 쿼리해야 합니다 .

유효한 사용 (암시적)

예시 코드

다음 예시 코드는 권장 해상도 변경 이벤트를 수신 대기하는 방법을 보여줍니다.

// 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;
  }
}

버전 기록

  • 버전 1, 2025년 4월 4일 (Kenny Vercaemer)

    • 초기 확장 프로그램 설명