이름 문자열

XR_ANDROID_recommended_resolution

확장 프로그램 유형

인스턴스 확장 프로그램

등록된 내선 번호

462

버전

1

승인 상태

비준되지 않음

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

OpenXR 1.0

IP 상태

알려진 IP 소유권 주장이 없습니다.

도움을 주신 분들

트레버 데브레히타벨, Google
스펜서 퀸, Google
라클란 포드, Google
바실리 바라노프, Google

개요

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

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

  • 런타임은 인스턴스 전체 기간 동안 지정된 systemId 및 viewConfigurationType의 xrEnumerateViewConfigurationViews 열거에서 동일하지 않은 버퍼 콘텐츠를 반환할 수 있습니다(may).

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

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

회원 설명

  • type는 이 구조의 XrStructureType입니다.
  • next는 NULL 또는 구조 체인의 다음 구조에 대한 포인터입니다. 핵심 OpenXR 또는 이 확장 프로그램에는 이러한 구조가 정의되어 있지 않습니다.

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

올바른 사용 (암시적)

예시 코드

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

// 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-04-04 (케니 베르카에메르)

    • 초기 확장 프로그램 설명