XR_ANDROID_depth_texture OpenXR 확장 프로그램

이름 문자열

XR_ANDROID_depth_texture

확장 프로그램 유형

인스턴스 연장

등록된 부속 번호

703

버전

1

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

OpenXR 1.0

최종 수정일

2024-09-11

IP 상태

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

도움을 주신 분들

Sushant Kulkarni, Google

케인 오버터프, Google

스펜서 퀸, Google

레바나 첸, Google

개요

이 확장 프로그램을 사용하면 애플리케이션이 헤드셋 주변의 실제 환경에 관한 깊이 맵을 요청하고 생성 시 지원되는 깊이 해상도를 쿼리할 수 있습니다.

이 확장 프로그램은 가려짐, 히트 테스트, 정확한 장면 도형을 사용하는 기타 특정 작업(예: 위조 얼굴 감지)에 원시 및 부드러운 깊이를 노출하기 위한 것입니다.

시스템 기능 검사

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

typedef struct XrSystemDepthTrackingPropertiesANDROID {
    XrStructureType    type;
    const void*        next;
    XrBool32           supportsDepthTracking;
} XrSystemDepthTrackingPropertiesANDROID;

회원 설명

  • type은 이 구조의 XrStructureType입니다.
  • nextNULL 또는 구조 체인의 다음 구조에 대한 포인터입니다. 핵심 OpenXR 또는 이 확장 프로그램에는 이러한 구조가 정의되어 있지 않습니다.
  • supportsDepthTracking는 현재 시스템에서 깊이 추적을 지원하는지 여부를 나타내는 XrBool32입니다.

애플리케이션은 xrGetSystemProperties를 호출할 때 XrSystemPropertiesXrSystemDepthTrackingPropertiesANDROID 구조로 확장하여 시스템이 깊이 추적을 할 수 있는지 검사할 있습니다.

유효한 사용 (암시적)

쿼리 심도 확인

xrEnumerateDepthResolutionsANDROID 함수는 다음과 같이 정의됩니다.

XrResult xrEnumerateDepthResolutionsANDROID(
    XrSession                                   session,
    uint32_t                                    resolutionCapacityInput,
    uint32_t*                                   resolutionCountOutput,
    XrDepthCameraResolutionANDROID*             resolutions);

매개변수 설명

  • session는 지원되는 깊이 해상도를 열거하는 XrSession입니다.
  • resolutionCapacityInputresolutions의 용량 또는 필요한 용량을 검색하기 위한 0입니다.
  • resolutionCountOutput는 쓰여진 uint64_t resolutions 개수의 포인터이거나 resolutionCapacityInput가 충분하지 않은 경우 필요한 용량의 포인터입니다.
  • resolutionsXrDepthCameraResolutionANDROID 배열에 대한 포인터이지만 resolutionCapacityInput이 0인 경우 NULL 있습니다.
  • 필요한 resolutions 크기를 검색하는 방법에 관한 자세한 내용은 버퍼 크기 매개변수 섹션을 참고하세요.

xrEnumerateDepthResolutionsANDROID는 현재 세션에서 지원되는 깊이 해상도를 열거합니다. 깊이 해상도는 런타임 환경에서 가장 높은 선호도부터 가장 낮은 선호도 순으로 정렬되어 야 합니다. 애플리케이션은 최적의 성능과 품질을 위해 지원하는 가장 높은 환경설정을 사용해야 합니다.

유효한 사용 (암시적)

반품 코드

성공

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

실패

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_VALIDATION_FAILURE
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_SIZE_INSUFFICIENT

XrDepthCameraResolutionANDROID 열거형은 XrDepthSwapchainANDROID를 만들 때 지원되는 깊이 해상도를 설명합니다.

typedef enum XrDepthCameraResolutionANDROID {
    XR_DEPTH_CAMERA_RESOLUTION_80x80_ANDROID = 0,
    XR_DEPTH_CAMERA_RESOLUTION_160x160_ANDROID = 1,
    XR_DEPTH_CAMERA_RESOLUTION_320x320_ANDROID = 2
    } XrDepthCameraResolutionANDROID;

열거자 설명

  • XR_DEPTH_CAMERA_RESOLUTION_80x80_ANDROID: 깊이 및 신뢰도 이미지의 해상도는 80x80입니다.
  • XR_DEPTH_CAMERA_RESOLUTION_160x160_ANDROID — 깊이 및 신뢰도 이미지의 해상도는 160x160입니다.
  • XR_DEPTH_CAMERA_RESOLUTION_320x320_ANDROID: 깊이 및 신뢰도 이미지의 해상도는 320x320입니다.

깊이 스왑 체이닝 만들기

XR_DEFINE_HANDLE(XrDepthSwapchainANDROID)

XrDepthSwapchainANDROID는 깊이 스왑체인 핸들입니다.

xrCreateDepthSwapchainANDROID 함수는 다음과 같이 정의됩니다.

XrResult xrCreateDepthSwapchainANDROID(
    XrSession                                   session,
    const XrDepthSwapchainCreateInfoANDROID*    createInfo,
    XrDepthSwapchainANDROID*                    swapchain);

매개변수 설명

애플리케이션은 xrCreateDepthSwapchainANDROID 함수를 사용하여 깊이 및 신뢰도 이미지를 모두 관리하는 깊이 스왑체인을 만들 수 있습니다.

반환된 깊이 스왑 체인 핸들은 이후 API 호출에서 사용될 수 있습니다. XrDepthSwapchainANDROID 핸들은 결국 xrDestroyDepthSwapchainANDROID 함수를 사용하여 해제해야 합니다.

유효한 사용 (암시적)

반품 코드

성공

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

실패

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_OUT_OF_MEMORY
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_LIMIT_REACHED

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

typedef struct XrDepthSwapchainCreateInfoANDROID {
    XrStructureType                       type;
    const void*                           next;
    XrDepthCameraResolutionANDROID        resolution;
    XrDepthSwapchainCreateFlagsANDROID    createFlags;
} XrDepthSwapchainCreateInfoANDROID;

회원 설명

  • type은 이 구조의 XrStructureType입니다.
  • nextNULL 또는 구조 체인의 다음 구조에 대한 포인터입니다. 핵심 OpenXR 또는 이 확장 프로그램에는 이러한 구조가 정의되어 있지 않습니다.
  • resolution는 깊이 및 신뢰도 텍스처를 만들어야 하는 XrDepthCameraResolutionANDROID입니다.
  • createFlags는 하나 이상의 XrDepthSwapchainCreateFlagsANDROID입니다.

XrDepthSwapchainCreateInfoANDROID 구조는 xrCreateDepthSwapchainANDROID에 전달될 때 XrDepthSwapchainANDROID의 생성 옵션을 제공합니다.

유효한 사용 (암시적)

XrDepthSwapchainCreateFlagsANDROIDXrDepthSwapchainANDROID의 생성 옵션을 지정합니다.

typedef XrFlags64 XrDepthSwapchainCreateFlagsANDROID;

XrDepthSwapchainCreateFlagsANDROID의 유효한 비트는 XrDepthSwapchainCreateFlagBitsANDROID에 의해 정의되며 다음과 같이 지정됩니다.

// Flag bits for XrDepthSwapchainCreateFlagsANDROID
static const XrDepthSwapchainCreateFlagsANDROID XR_DEPTH_SWAPCHAIN_CREATE_SMOOTH_DEPTH_IMAGE_BIT_ANDROID = 0x00000001;
static const XrDepthSwapchainCreateFlagsANDROID XR_DEPTH_SWAPCHAIN_CREATE_SMOOTH_CONFIDENCE_IMAGE_BIT_ANDROID = 0x00000002;
static const XrDepthSwapchainCreateFlagsANDROID XR_DEPTH_SWAPCHAIN_CREATE_RAW_DEPTH_IMAGE_BIT_ANDROID = 0x00000004;
static const XrDepthSwapchainCreateFlagsANDROID XR_DEPTH_SWAPCHAIN_CREATE_RAW_CONFIDENCE_IMAGE_BIT_ANDROID = 0x00000008;

xrDestroyDepthSwapchainANDROID 함수는 다음과 같이 정의됩니다.

XrResult xrDestroyDepthSwapchainANDROID(
    XrDepthSwapchainANDROID                     swapchain);

매개변수 설명

xrDestroyDepthSwapchainANDROID 함수는 depth swapchain을 삭제합니다.

유효한 사용 (암시적)

스레드 안전

  • swapchain 및 모든 하위 핸들에 대한 액세스는 외부에서 동기화되어야

반품 코드

성공

  • XR_SUCCESS

실패

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_HANDLE_INVALID

깊이 텍스처 액세스

xrEnumerateDepthSwapchainImagesANDROID 함수는 다음과 같이 정의됩니다.

XrResult xrEnumerateDepthSwapchainImagesANDROID(
    XrDepthSwapchainANDROID                     depthSwapchain,
    uint32_t                                    depthImageCapacityInput,
    uint32_t*                                   depthImageCountOutput,
    XrDepthSwapchainImageANDROID*               depthImages);

매개변수 설명

  • depthSwapchain은 이미지를 가져오는 XrDepthSwapchainANDROID입니다.
  • depthImageCapacityInputdepthImages 배열의 용량이거나 0으로, 필요한 용량을 검색하라는 요청을 나타냅니다.
  • depthImageCountOutput는 쓰여진 depthImages 개수의 포인터이거나 depthImageCapacityInput가 충분하지 않은 경우 필요한 용량의 포인터입니다.
  • depthImagesXrDepthSwapchainImageANDROID 구조 배열에 대한 포인터입니다. depthImageCapacityInput이 0인 경우 NULL 있습니다.
  • 필요한 depthImages 크기를 검색하는 방법에 관한 자세한 내용은 버퍼 크기 매개변수 섹션을 참고하세요.

xrEnumerateDepthSwapchainImagesANDROIDXrDepthSwapchainImageANDROID 구조의 배열을 채웁니다. 리소스는 XrDepthSwapchainANDROID의 전체 기간 동안 상수이며 유효합니다. 이 함수는 xrEnumerateSwapchainImages와 유사하게 동작합니다.

유효한 사용 (암시적)

반품 코드

성공

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

실패

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_VALIDATION_FAILURE
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_SIZE_INSUFFICIENT

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

typedef struct XrDepthSwapchainImageANDROID {
    XrStructureType    type;
    void*              next;
    const float*       rawDepthImage;
    const uint8_t*     rawDepthConfidenceImage;
    const float*       smoothDepthImage;
    const uint8_t*     smoothDepthConfidenceImage;
} XrDepthSwapchainImageANDROID;

회원 설명

  • type은 이 구조의 XrStructureType입니다.
  • nextNULL 또는 구조 체인의 다음 구조에 대한 포인터입니다. 핵심 OpenXR 또는 이 확장 프로그램에는 이러한 구조가 정의되어 있지 않습니다.
  • rawDepthImageNULL 또는 왼쪽 및 오른쪽 보기의 원시 깊이 이미지에 대한 포인터입니다. 값의 단위는 미터입니다. 특수 값: 0.0는 원시 심도에서 잘못되었거나 빈 심도 픽셀을 나타내고, Inf는 실질적으로 무한히 멀리 있는 것으로 알려진 심도를 나타냅니다.
  • rawDepthConfidenceImageNULL 또는 왼쪽 및 오른쪽 보기의 원시 깊이 신뢰도 이미지에 대한 포인터입니다.
  • smoothDepthImageNULL 또는 왼쪽 및 오른쪽 보기의 부드러운 깊이 이미지를 가리키는 포인터입니다. 값의 단위는 미터입니다. 특수 값: 0.0는 부드러운 심도에서 잘못되었거나 비어 있는 심도 픽셀을 나타내고, Inf는 실질적으로 무한히 멀리 있는 것으로 알려진 심도를 나타냅니다.
  • smoothDepthConfidenceImageNULL 또는 왼쪽 및 오른쪽 보기의 부드러운 깊이 신뢰도 이미지를 가리키는 포인터입니다.

XrDepthSwapchainImageANDROID는 읽을 수 있는 XrDepthSwapchainANDROID의 깊이 이미지를 나타내며, xrCreateDepthSwapchainANDROID를 호출할 때 XrDepthSwapchainCreateInfoANDROID::resolutionXrDepthSwapchainCreateInfoANDROID::createFlags에 설명된 대로 할당됩니다. 각 깊이 이미지에 대해 다음을 실행합니다.

유효한 사용 (암시적)

xrAcquireDepthSwapchainImagesANDROID 함수는 다음과 같이 정의됩니다.

XrResult xrAcquireDepthSwapchainImagesANDROID(
    XrDepthSwapchainANDROID                     depthSwapchain,
    const XrDepthAcquireInfoANDROID*            acquireInfo,
    XrDepthAcquireResultANDROID*                acquireResult);

매개변수 설명

애플리케이션은 xrAcquireDepthSwapchainImagesANDROID 함수를 사용하여 사용 가능한 최신 스왑체인 이미지 색인(예: XrDepthAcquireResultANDROID::acquiredIndex)을 xrEnumerateDepthSwapchainImagesANDROID에서 열거된 XrDepthSwapchainImageANDROID 배열에 획득할 수 있습니다. 반환된 XrDepthAcquireResultANDROID에는 깊이 데이터를 해석하는 데 필요한 시야와 자세와 같은 기타 정보도 포함됩니다. xrAcquireDepthSwapchainImagesANDROID를 다음에 호출할 때까지 이미지 배열의 획득된 슬롯에서 읽을 수 있습니다.

세션에서 상응하는 xrBeginFramexrEndFrame 호출 쌍 사이에 xrAcquireDepthSwapchainImagesANDROID 호출이 하나만 있어야 합니다.

유효한 사용 (암시적)

반품 코드

성공

  • XR_SUCCESS
  • XR_SESSION_LOSS_PENDING

실패

  • XR_ERROR_FUNCTION_UNSUPPORTED
  • XR_ERROR_VALIDATION_FAILURE
  • XR_ERROR_RUNTIME_FAILURE
  • XR_ERROR_HANDLE_INVALID
  • XR_ERROR_INSTANCE_LOST
  • XR_ERROR_SESSION_LOST
  • XR_ERROR_DEPTH_NOT_AVAILABLE_ANDROID
  • XR_ERROR_CALL_ORDER_INVALID
  • XR_ERROR_LIMIT_REACHED
  • XR_ERROR_TIME_INVALID

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

typedef struct XrDepthAcquireInfoANDROID {
    XrStructureType    type;
    const void*        next;
    XrSpace            space;
    XrTime             displayTime;
} XrDepthAcquireInfoANDROID;

회원 설명

  • type은 이 구조의 XrStructureType입니다.
  • nextNULL 또는 구조 체인의 다음 구조에 대한 포인터입니다. 핵심 OpenXR 또는 이 확장 프로그램에는 이러한 구조가 정의되어 있지 않습니다.
  • spaceXrDepthAcquireResultANDROID::views에서 반환된 포즈의 참조 프레임을 정의하는 XrSpace입니다.
  • displayTimeXrDepthAcquireResultANDROID::views에서 반환된 포즈의 포즈를 계산하는 데 사용된 시간을 지정하는 XrTime입니다. 애플리케이션은 현재 프레임의 예상 표시 시간을 전달해야 합니다.

유효한 사용 (암시적)

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

typedef struct XrDepthAcquireResultANDROID {
    XrStructureType       type;
    const void*           next;
    uint32_t              acquiredIndex;
    XrTime                exposureTimestamp;
    XrDepthViewANDROID    views[2];
} XrDepthAcquireResultANDROID;

회원 설명

  • type은 이 구조의 XrStructureType입니다.
  • nextNULL 또는 구조 체인의 다음 구조에 대한 포인터입니다. 핵심 OpenXR 또는 이 확장 프로그램에는 이러한 구조가 정의되어 있지 않습니다.
  • acquiredIndexxrEnumerateDepthSwapchainImagesANDROID에서 열거한 XrDepthSwapchainImageANDROID 배열에 획득된 텍스처의 색인입니다.
  • exposureTimestamp는 깊이 맵이 캡처된 시간을 지정하는 XrTime입니다.
  • views는 눈마다 하나씩 두 개의 XrDepthViewANDROID 배열입니다. 여기서 색인 0은 왼쪽 눈이고 색인 1은 오른쪽 눈입니다.

유효한 사용 (암시적)

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

typedef struct XrDepthViewANDROID {
    XrStructureType    type;
    const void*        next;
    XrFovf             fov;
    XrPosef            pose;
} XrDepthViewANDROID;

회원 설명

  • type은 이 구조의 XrStructureType입니다.
  • nextNULL 또는 구조 체인의 다음 구조에 대한 포인터입니다. 핵심 OpenXR 또는 이 확장 프로그램에는 이러한 구조가 정의되어 있지 않습니다.
  • fov는 이 뷰를 생성하는 데 사용되는 시야를 지정하는 XrFovf입니다. 뷰는 가로 또는 세로로 뒤집히지 않습니다.
  • pose는 깊이 맵이 렌더링된 포즈를 지정하는 XrPosef입니다. 참조 프레임은 XrDepthAcquireInfoANDROID에 지정됩니다.

유효한 사용 (암시적)

깊이 추적 코드 예시

다음 코드 예는 깊이 이미지를 획득하는 방법을 보여줍니다.

XrInstance instance;  // previously initialized
XrSystemId systemId;  // previously initialized
XrSession session; // previously initialized
XrSpace stageSpace; // space created for XR_REFERENCE_SPACE_TYPE_STAGE.

// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrCreateDepthSwapchainANDROID xrCreateDepthSwapchainANDROID; // previously initialized
PFN_xrDestroyDepthSwapchainANDROID xrDestroyDepthSwapchainANDROID; // previously initialized
PFN_xrEnumerateDepthSwapchainImagesANDROID xrEnumerateDepthSwapchainImagesANDROID; // previously initialized
PFN_xrEnumerateDepthResolutionsANDROID xrEnumerateDepthResolutionsANDROID; // previously initialized
PFN_xrAcquireDepthSwapchainImagesANDROID xrAcquireDepthSwapchainImagesANDROID; // previously initialized

// Inspect system capability
XrSystemProperties properties{XR_TYPE_SYSTEM_PROPERTIES};
XrSystemDepthTrackingPropertiesANDROID depthTrackingProperties{XR_TYPE_SYSTEM_DEPTH_TRACKING_PROPERTIES_ANDROID};
properties.next = &depthTrackingProperties;
CHK_XR(xrGetSystemProperties(instance, systemId, &properties));
if (!depthTrackingProperties.supportsDepthTracking) {
  // depth tracking is not supported.
  return;
}

// Query the supported depth resolution.
XrDepthCameraResolutionANDROID supportedDepthResolution;
uint32_t supportedResolutionCount = 0;
CHK_XR(xrEnumerateDepthResolutionsANDROID(
    session, 1, &supportedResolutionCount, &supportedDepthResolution));

// Define metadata to access the raw and smooth depth along with confidences.
XrDepthSwapchainCreateInfoANDROID swapchainCreateInfo = {
  .type = XR_TYPE_DEPTH_SWAPCHAIN_CREATE_INFO_ANDROID,
  .next = nullptr,
  .createFlags =
    XR_DEPTH_SWAPCHAIN_CREATE_SMOOTH_DEPTH_IMAGE_BIT_ANDROID |
    XR_DEPTH_SWAPCHAIN_CREATE_SMOOTH_CONFIDENCE_IMAGE_BIT_ANDROID |
    XR_DEPTH_SWAPCHAIN_CREATE_RAW_DEPTH_IMAGE_BIT_ANDROID |
    XR_DEPTH_SWAPCHAIN_CREATE_RAW_CONFIDENCE_IMAGE_BIT_ANDROID,

  // Use the resolution supported by the runtime.
  .resolution = supportedDepthResolution,
};

XrDepthSwapchainANDROID depthSwapchain;
CHK_XR(xrCreateDepthSwapchainANDROID(
    session, &swapchainCreateInfo, &depthSwapchain));

// Enumerate depth images.
uint32_t imageCountOutput = 0;
CHK_XR(xrEnumerateDepthSwapchainImagesANDROID(
    depthSwapchain, 0, &imageCountOutput, nullptr));
std::vector<XrDepthSwapchainImageANDROID> depthImages(imageCountOutput);
for (int i = 0; i < imageCountOutput; i++) {
  depthImages[i].type = XR_TYPE_DEPTH_SWAPCHAIN_IMAGE_ANDROID;
}
CHK_XR(xrEnumerateDepthSwapchainImagesANDROID(
  depthSwapchain, imageCountOutput, &imageCountOutput, depthImages.data()));

while (1) {
    // ...
    // For every frame in frame loop
    // ...

    XrFrameState frameState;  // previously returned from xrWaitFrame
    const XrTime time = frameState.predictedDisplayTime;

    XrDepthAcquireInfoANDROID acquireInfo = {
        .type = XR_TYPE_DEPTH_ACQUIRE_INFO_ANDROID,
        .space = stageSpace,
        .time = time};
    XrDepthAcquireResultANDROID acquireResult = {
        .type = XR_TYPE_DEPTH_ACQUIRE_RESULT_ANDROID,
    };
    CHK_XR(xrAcquireDepthImagesANDROID(
        depthSwapchain, &acquireInfo, &acquireResult));

    // Each value in a depth image corresponds to a point in the real world.
    // The sample code in this section shows how to find the stageSpace position
    // of the point corresponding to a particular value in the depth image.

    // For this sample code, assume we are using a right handed coordinate system
    // with +X to the right, +Y up and -Z forward.

    XrDepthSwapchainImageANDROID *image =
        &depthImages[acquireResult.acquireIndex];

    // Assume supported resolution is XR_DEPTH_CAMERA_RESOLUTION_160x160_ANDROID.
    const int imageResolution = 160;
    int imageY = // value in [0, imageResolution)
    int imageX = // value in [0, imageResolution)

    // Get depth value from left eye.
    // A right depth value would be obtained with the following expression:
    // depthR = image->rawDepthImage[imageResolution*imageResolution+i*imageResolution+j]
    float depthL = image->rawDepthImage[imageY*imageResolution + imageX];
    XrDepthViewANDROID viewL = acquireResult.views[0];

    float tanL = tanf(viewL.fov.angleLeft);
    float tanR = tanf(viewL.fov.angleRight);
    float tanU = tanf(viewL.fov.angleUp);
    float tanD = tanf(viewL.fov.angleDown);

    float s = (imageX + 0.5f) / (float)imageResolution;
    float t = (imageY + 0.5f) / (float)imageResolution;

    // Calculate the depth camera space position of the point
    // corresponding to this depth value.
    XrVector3f posInCameraSpace;
    posInCameraSpace.z = -depthL;
    posInCameraSpace.x = (tanL + (tanR - tanL)*s)*depthL;
    posInCameraSpace.y = (tanB + (tanU - tanB)*t)*depthL;

    XrPosef depthCameraPoseL = viewL.pose;
    // Transform posInCameraSpace by depthCameraPoseL

    // ...
    // Finish frame loop
    // ...
}

새로운 객체 유형

새 enum 상수

XrObjectType 열거형은 다음으로 확장됩니다.

  • XR_OBJECT_TYPE_DEPTH_SWAPCHAIN_ANDROID

XrResult 열거형이 다음과 같이 확장되었습니다.

  • XR_ERROR_DEPTH_NOT_AVAILABLE_ANDROID

XrStructureType 열거형은 다음과 같이 확장됩니다.

  • XR_TYPE_DEPTH_SWAPCHAIN_CREATE_INFO_ANDROID
  • XR_TYPE_DEPTH_VIEW_ANDROID
  • XR_TYPE_DEPTH_ACQUIRE_INFO_ANDROID
  • XR_TYPE_DEPTH_ACQUIRE_RESULT_ANDROID
  • XR_TYPE_SYSTEM_DEPTH_TRACKING_PROPERTIES_ANDROID
  • XR_TYPE_DEPTH_SWAPCHAIN_IMAGE_ANDROID

새 열거형

새로운 구조

새로운 함수

문제

버전 기록

  • 버전 1, 2024년 9월 9일 (레바나 첸)
    • 초기 확장 프로그램 설명