이름 문자열
XR_ANDROID_light_estimation
확장 프로그램 유형
인스턴스 확장
등록된 내선 번호
701
버전
1
확장 프로그램 및 버전 종속 항목
최종 수정일
2025-01-17
IP 상태
알려진 IP 소유권 주장이 없습니다.
도움을 주신 분들
Jared Finder, Google
케언 오버터프, Google
스펜서 퀸, Google
레바나 첸, Google
니하브 제인, Google
Salar Khan, Google
스콧 청, Google
개요
이 확장 프로그램을 사용하면 애플리케이션이 헤드셋 주변의 실제 환경 조명을 나타내는 데이터를 요청할 수 있습니다. 이 정보는 가상 객체를 렌더링하여 배치된 장면과 동일한 조건에서 조명을 비추는 데 사용할 수 있습니다.
시스템 기능 검사
애플리케이션은 xrGetSystemProperties를 호출할 때 XrSystemLightEstimationPropertiesANDROID 구조를 XrSystemProperties에 연결하여 시스템이 조명 추정을 지원하는지 검사할 수 있습니다.
typedef struct XrSystemLightEstimationPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsLightEstimation;
} XrSystemLightEstimationPropertiesANDROID;
회원 설명
type
은 이 구조의 XrStructureType입니다.next
는NULL
이거나 구조체 체인의 다음 구조체에 대한 포인터입니다. 이러한 구조는 핵심 OpenXR이나 이 확장 프로그램에 정의되어 있지 않습니다.supportsLightEstimation
은 현재 시스템이 조명 추정을 지원하는지 나타내는XrBool32
입니다.
애플리케이션은 xrGetSystemProperties를 호출할 때 XrSystemLightEstimationPropertiesANDROID 구조로 XrSystemProperties를 확장하여 시스템이 조명 추정을 지원할 수 있는지 검사할 수 있습니다.
시스템에서 조명 추정을 지원할 수 없는 경우 supportsLightEstimation
에 XR_FALSE
를 반환하고 xrCreateLightEstimatorANDROID에서 XR_ERROR_FEATURE_UNSUPPORTED
를 반환합니다.
유효한 사용 (암시적)
- XrSystemLightEstimationPropertiesANDROID를 사용하기 전에 XR_ANDROID_light_estimation 확장 프로그램을 사용 설정해야 합니다.
type
은XR_TYPE_SYSTEM_LIGHT_ESTIMATION_PROPERTIES_ANDROID
이어야 합니다.next
는NULL
이거나 구조 체인의 다음 구조를 가리키는 유효한 포인터여야 합니다.
조명 추정기 핸들 만들기
XR_DEFINE_HANDLE(XrLightEstimatorANDROID)
XrLightEstimatorANDROID 핸들은 조명 추정기를 나타냅니다. 이 핸들을 사용하여 이 확장 프로그램의 다른 함수를 통해 조명 추정 정보에 액세스할 수 있습니다.
xrCreateLightEstimatorANDROID 함수는 다음과 같이 정의됩니다.
XrResult xrCreateLightEstimatorANDROID(
XrSession session,
XrLightEstimatorCreateInfoANDROID* createInfo,
XrLightEstimatorANDROID* outHandle);
매개변수 설명
session
는 조명 추정기를 만드는 XrSession입니다.createInfo
는 조명 추정기를 만드는 데 사용되는 매개변수가 포함된 XrLightEstimatorCreateInfoANDROID 구조체에 대한 포인터입니다.outHandle
는 생성된 XrLightEstimatorANDROID가 반환되는 핸들의 포인터입니다.
애플리케이션은 xrCreateLightEstimatorANDROID 함수를 사용하여 조명 추정기를 만들 수 있습니다.
- 시스템에서 조명 추정을 지원하지 않으면 xrCreateLightEstimatorANDROID가
XR_ERROR_FEATURE_UNSUPPORTED
를 반환합니다. - 필요한 권한이 호출 애플리케이션에 부여되지 않은 경우 xrCreateLightEstimatorANDROID는
XR_ERROR_PERMISSION_INSUFFICIENT
를 반환합니다.
반환된 조명 추정기 핸들은 이후 API 호출에서 사용할 수 있습니다. 애플리케이션이 런타임에 조명 추정 데이터 액세스가 완료되었음을 나타내려면 xrDestroyLightEstimatorANDROID를 사용하여 핸들을 소멸해야 합니다.
유효한 사용 (암시적)
XR_ANDROID_light_estimation
확장 프로그램은 xrCreateLightEstimatorANDROID를 호출하기 전에 사용 설정해야 합니다.session
은 유효한 XrSession 핸들이어야 합니다.createInfo
는 XrLightEstimatorCreateInfoANDROID 구조체에 대한 포인터여야 합니다.outHandle
는 XrLightEstimatorANDROID 핸들에 대한 포인터여야 합니다.
반환 코드
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
XrLightEstimatorCreateInfoANDROID 구조는 XrLightEstimatorANDROID 핸들을 만드는 정보를 설명합니다.
typedef struct XrLightEstimatorCreateInfoANDROID {
XrStructureType type;
void* next;
} XrLightEstimatorCreateInfoANDROID;
회원 설명
type
은 이 구조의 XrStructureType입니다.next
는NULL
이거나 구조체 체인의 다음 구조체에 대한 포인터입니다. 이러한 구조는 핵심 OpenXR이나 이 확장 프로그램에 정의되어 있지 않습니다.
유효한 사용 (암시적)
- XrLightEstimatorCreateInfoANDROID를 사용하기 전에
XR_ANDROID_light_estimation
확장 프로그램을 사용 설정해야 합니다. type
은XR_TYPE_LIGHT_ESTIMATOR_CREATE_INFO_ANDROID
이어야 합니다.next
는NULL
이거나 구조 체인의 다음 구조를 가리키는 유효한 포인터여야 합니다.
xrDestroyLightEstimatorANDROID 함수는 estimator
및 기본 리소스를 해제합니다.
XrResult xrDestroyLightEstimatorANDROID(
XrLightEstimatorANDROID estimator);
매개변수 설명
estimator
는 이전에 xrCreateLightEstimatorANDROID로 생성된 XrLightEstimatorANDROID입니다.
유효한 사용 (암시적)
XR_ANDROID_light_estimation
확장 프로그램은 xrDestroyLightEstimatorANDROID를 호출하기 전에 사용 설정해야 합니다.estimator
은(는) 유효한 XrLightEstimatorANDROID 핸들이어야 합니다.
스레드 안전
estimator
및 모든 하위 핸들에 대한 액세스는 외부적으로 동기화되어야 합니다.
반환 코드
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_HANDLE_INVALID
조명 추정 데이터 액세스
xrGetLightEstimateANDROID 함수는 다음과 같이 정의됩니다.
XrResult xrGetLightEstimateANDROID(
XrLightEstimatorANDROID estimator,
const XrLightEstimateGetInfoANDROID* input,
XrLightEstimateANDROID* output);
매개변수 설명
estimator
:xrCreateLightEstimatorANDROID
로 이전에 생성된 XrLightEstimatorANDROID 핸들입니다.input
: XrLightEstimateGetInfoANDROID 구조체에 대한 포인터입니다.output
: XrLightEstimateANDROID 구조체 포인터
유효한 사용 (암시적)
- xrGetLightEstimateANDROID를 호출하기 전에
XR_ANDROID_light_estimation
확장 프로그램을 사용 설정해야 합니다. estimator
은(는) 유효한 XrLightEstimatorANDROID 핸들이어야 합니다.input
는 유효한 XrLightEstimateGetInfoANDROID 구조체를 가리키는 포인터여야 합니다.output
는 XrLightEstimateANDROID 구조체에 대한 포인터여야 must 합니다.
반환 코드
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_OUT_OF_MEMORY
XR_ERROR_TIME_INVALID
XrLightEstimateGetInfoANDROID는 조명 추정 데이터를 가져오는 데 필요한 정보를 설명합니다.
typedef struct XrLightEstimateGetInfoANDROID {
XrStructureType type;
void* next;
XrSpace space;
XrTime time;
} XrLightEstimateGetInfoANDROID;
회원 설명
type
은 이 구조의 XrStructureType입니다.next
는NULL
이거나 구조체 체인의 다음 구조체에 대한 포인터입니다.space
는 반환된 조명 방향과 구면 조화 함수, 큐브맵 회전이 표현되는 참조 공간을 정의하는 XrSpace입니다.time
는 애플리케이션이 조명 추정을 쿼리하려는 시간을 설명하는XrTime
입니다.
유효한 사용 (암시적)
- XrLightEstimateGetInfoANDROID를 사용하기 전에
XR_ANDROID_light_estimation
확장 프로그램을 사용 설정해야 합니다. type
은XR_TYPE_LIGHT_ESTIMATE_GET_INFO_ANDROID
이어야 합니다.next
는NULL
이거나 구조 체인의 다음 구조를 가리키는 유효한 포인터여야 합니다.space
은 유효한 XrSpace 핸들이어야 합니다.
XrLightEstimateANDROID 구조에는 조명 추정 데이터가 포함됩니다.
typedef struct XrLightEstimateANDROID {
XrStructureType type;
void* next;
XrLightEstimateStateANDROID state;
XrTime lastUpdatedTime;
} XrLightEstimateANDROID;
회원 설명
type
은 이 구조의 XrStructureType입니다.next
는NULL
이거나 구조체 체인의 다음 구조체에 대한 포인터입니다. 유효한 구조는 XrAmbientLightANDROID, XrSphericalHarmonicsANDROID, XrEnvironmentLightingCubemapANDROID, XrDirectionalLightANDROID입니다.state
는 조명 추정 상태를 나타내는 XrLightEstimateStateANDROID입니다.lastUpdatedTime
는 추정치가 마지막으로 계산된 시점을 나타내는XrTime
입니다.
환경 조명 큐브맵, 주변광, 구면 조화 함수, 기본 방향광의 조명 추정 정보를 획득하기 위해 애플리케이션은 각각 다음 구조체(XrEnvironmentLightingCubemapANDROID, XrAmbientLightANDROID, XrSphericalHarmonicsANDROID, XrDirectionalLightANDROID)의 인스턴스를 XrLightEstimateANDROID::next에 연결할 수 있습니다.
유효한 사용 (암시적)
- XrLightEstimateANDROID를 사용하기 전에
XR_ANDROID_light_estimation
확장 프로그램을 사용 설정해야 합니다. type
은XR_TYPE_LIGHT_ESTIMATE_ANDROID
이어야 합니다.next
는NULL
이거나 구조 체인의 다음 구조체를 가리키는 유효한 포인터여야 합니다. 참고: XrAmbientLightANDROID, XrDirectionalLightANDROID, XrEnvironmentLightingCubemapANDROID, XrSphericalHarmonicsANDROIDstate
은(는) 유효한 XrLightEstimateStateANDROID 값이어야 합니다.
XrEnvironmentLightingCubemapANDROID 구조체에는 장면의 환경 조명에 관한 큐브맵 형식의 조명 추정 데이터가 포함됩니다.
typedef struct XrEnvironmentLightingCubemapANDROID {
XrStructureType type;
void* next;
XrLightEstimateStateANDROID state;
const float* cubemapRightImage;
const float* cubemapLeftImage;
const float* cubemapTopImage;
const float* cubemapBottomImage;
const float* cubemapFrontImage;
const float* cubemapBackImage;
uint32_t resolution;
XrQuaternionf rotation;
XrTime centerExposureTime;
} XrEnvironmentLightingCubemapANDROID;
회원 설명
type
은 이 구조의 XrStructureType입니다.next
는NULL
이거나 구조체 체인의 다음 구조체에 대한 포인터입니다. 유효한 구조는 XrSphericalHarmonicsANDROID, XrAmbientLightANDROID, XrDirectionalLightANDROID입니다.state
는 조명 추정 상태를 나타내는 XrLightEstimateStateANDROID입니다.cubemapRightImage
는 큐브맵의 오른쪽 R32G32B32_SFLOAT 버퍼를 나타내는float*
입니다. HDR이므로 부동 소수점 값이 1.0보다 클 수 있습니다.cubemapLeftImage
은 큐브 맵의 왼쪽 R32G32B32_SFLOAT 버퍼를 나타내는float*
입니다. HDR이므로 부동 소수점 값이 1.0보다 클 수 있습니다.cubemapTopImage
는 큐브맵의 상단 측면의 R32G32B32_SFLOAT 버퍼를 나타내는float*
입니다. HDR이므로 부동 소수점 값이 1.0보다 클 수 있습니다.cubemapBottomImage
는 큐브맵의 하단 측면의 R32G32B32_SFLOAT 버퍼를 나타내는float*
입니다. HDR이므로 부동 소수점 값이 1.0보다 클 수 있습니다.cubemapFrontImage
은 큐브맵 앞면의 R32G32B32_SFLOAT 버퍼를 나타내는float*
입니다. HDR이므로 부동 소수점 값이 1.0보다 클 수 있습니다.resolution
는 큐브맵의 각 면의 이미지 너비와 높이를 나타내는uint32_t
입니다.rotation
는 큐브맵의 회전을 나타내는 XrQuaternionf입니다.centerExposureTime
은 큐브맵이 캡처된 시간을 나타내는XrTime
입니다. 큐브맵 간 보간에 유용합니다.
유효한 사용 (암시적)
XR_ANDROID_light_estimation
확장 프로그램은 XrEnvironmentLightingCubemapANDROID를 사용하기 전에 사용 설정해야 합니다.type
은XR_TYPE_ENVIRONMENT_LIGHTING_CUBEMAP_ANDROID
이어야 합니다.next
는NULL
이거나 구조 체인의 다음 구조를 가리키는 유효한 포인터여야 합니다.state
은(는) 유효한 XrLightEstimateStateANDROID 값이어야 합니다.cubemapRightImage
은(는) 유효한 부동 소수점 값에 대한 포인터여야 합니다.cubemapLeftImage
은(는) 유효한 부동 소수점 값에 대한 포인터여야 합니다.cubemapTopImage
은(는) 유효한 부동 소수점 값에 대한 포인터여야 합니다.cubemapBottomImage
은(는) 유효한 부동 소수점 값에 대한 포인터여야 합니다.cubemapFrontImage
은(는) 유효한 부동 소수점 값에 대한 포인터여야 합니다.cubemapBackImage
은(는) 유효한 부동 소수점 값에 대한 포인터여야 합니다.
XrAmbientLightANDROID 구조에는 장면의 주변광에 관한 조명 추정 데이터가 포함됩니다.
typedef struct XrAmbientLightANDROID {
XrStructureType type;
void* next;
XrLightEstimateStateANDROID state;
XrVector3f intensity;
XrVector3f colorCorrection;
} XrAmbientLightANDROID;
회원 설명
type
은 이 구조의 XrStructureType입니다.next
는NULL
이거나 구조체 체인의 다음 구조체에 대한 포인터입니다. 유효한 구조는 XrSphericalHarmonicsANDROID, XrEnvironmentLightingCubemapANDROID, XrDirectionalLightANDROID입니다.state
는 조명 추정 상태를 나타내는 XrLightEstimateStateANDROID입니다.intensity
은 주변광의 강도를 나타내는XrVector3
입니다. 벡터의 각 구성요소는 빨간색, 녹색, 파란색 채널에 해당합니다.colorCorrection
는 감마 공간의 값이 있는XrVector3
입니다. 감마 보정된 렌더링의 색상에 이러한 값을 구성요소별로 곱합니다.
유효한 사용 (암시적)
- XrAmbientLightANDROID를 사용하기 전에
XR_ANDROID_light_estimation
확장 프로그램을 사용 설정해야 합니다. type
은XR_TYPE_AMBIENT_LIGHT_ANDROID
이어야 합니다.next
는NULL
이거나 구조 체인의 다음 구조를 가리키는 유효한 포인터여야 합니다.state
은(는) 유효한 XrLightEstimateStateANDROID 값이어야 합니다.
XrSphericalHarmonicsANDROID 구조체에는 장면의 조명을 나타내는 구면 조화 함수가 포함됩니다.
typedef struct XrSphericalHarmonicsANDROID {
XrStructureType type;
void* next;
XrLightEstimateStateANDROID state;
XrSphericalHarmonicsKindANDROID kind;
float coefficients[9][3];
} XrSphericalHarmonicsANDROID;
회원 설명
type
은 이 구조의 XrStructureType입니다.next
는NULL
이거나 구조체 체인의 다음 구조체에 대한 포인터입니다. 유효한 구조는 XrAmbientLightANDROID, XrEnvironmentLightingCubemapANDROID, XrDirectionalLightANDROID입니다.state
는 조명 추정 상태를 나타내는 XrLightEstimateStateANDROID입니다.kind
는 애플리케이션에서 요청한 XrSphericalHarmonicsKindANDROID입니다.coefficients
는 9개의 행과 3개의 열로 이루어진 2차원float
배열입니다. 각각 빨간색, 녹색, 파란색 색상 채널에 해당하는 3개의 열 각 채널에는 9개의 구면 조화 함수 계수가 있습니다.
유효한 사용 (암시적)
- XrSphericalHarmonicsANDROID를 사용하기 전에
XR_ANDROID_light_estimation
확장 프로그램을 사용 설정해야 합니다. type
은XR_TYPE_SPHERICAL_HARMONICS_ANDROID
이어야 합니다.next
는NULL
이거나 구조 체인의 다음 구조를 가리키는 유효한 포인터여야 합니다.state
은(는) 유효한 XrLightEstimateStateANDROID 값이어야 합니다.kind
은(는) 유효한 XrSphericalHarmonicsKindANDROID 값이어야 합니다.
XrDirectionalLightANDROID 구조에는 조명 추정 데이터가 포함됩니다.
typedef struct XrDirectionalLightANDROID {
XrStructureType type;
void* next;
XrLightEstimateStateANDROID state;
XrVector3f intensity;
XrVector3f direction;
} XrDirectionalLightANDROID;
회원 설명
type
은 이 구조의 XrStructureType입니다.next
는NULL
이거나 구조체 체인의 다음 구조체에 대한 포인터입니다. 유효한 구조는 XrAmbientLightANDROID, XrSphericalHarmonicsANDROID, XrDirectionalLightANDROID입니다.state
는 조명 추정 상태를 나타내는 XrLightEstimateStateANDROID입니다.intensity
는 방향 조명의 강도를 나타내는XrVector3
입니다. 벡터의 각 구성요소는 빨간색, 녹색, 파란색 채널에 해당합니다.direction
는 빛 방향을 나타내는XrVector3
입니다.
유효한 사용 (암시적)
- XrDirectionalLightANDROID를 사용하기 전에
XR_ANDROID_light_estimation
확장 프로그램을 사용 설정해야 합니다. type
은XR_TYPE_DIRECTIONAL_LIGHT_ANDROID
이어야 합니다.next
는NULL
이거나 구조 체인의 다음 구조를 가리키는 유효한 포인터여야 합니다.state
은(는) 유효한 XrLightEstimateStateANDROID 값이어야 합니다.
XrSphericalHarmonicsKindANDROID 열거형은 애플리케이션이 요청하는 구면 조화 함수의 유형을 런타임에 식별합니다.
typedef enum XrSphericalHarmonicsKindANDROID {
XR_SPHERICAL_HARMONICS_KIND_TOTAL_ANDROID = 0,
XR_SPHERICAL_HARMONICS_KIND_AMBIENT_ANDROID = 1
} XrSphericalHarmonicsKindANDROID;
열거형은 다음과 같은 의미를 갖습니다.
열거형 |
설명 |
|
구면 조화 함수 계수는 기본 조명의 기여도를 제외한 환경 조명 복사 휘도 함수를 나타냅니다. |
|
구면 조화 함수 계수는 기본 조명의 기여도를 포함한 환경 조명 복사 휘도 함수를 나타냅니다. |
XrLightEstimateStateANDROID 열거형은 애플리케이션이 요청하는 구면 조화 함수의 유형을 런타임에 식별합니다.
typedef enum XrLightEstimateStateANDROID {
XR_LIGHT_ESTIMATE_STATE_VALID_ANDROID = 0,
XR_LIGHT_ESTIMATE_STATE_INVALID_ANDROID = 1
} XrLightEstimateStateANDROID;
열거형은 다음과 같은 의미를 갖습니다.
열거형 |
설명 |
|
조명 추정치가 유효함 |
|
조명 추정치가 잘못되었습니다. |
조명 추정 예시 코드
다음 예제 코드는 런타임에서 가능한 모든 조명 추정 값을 가져오는 방법을 보여줍니다.
XrSession session; // Created at app startup
XrSpace appSpace; // Created previously.
XrLightEstimatorANDROID estimator;
XrLightEstimatorCreateInfoANDROID createInfo = {
.type = XR_TYPE_LIGHT_ESTIMATOR_CREATE_INFO_ANDROID};
CHK_XR(xrCreateLightEstimatorANDROID(session, &createInfo, &estimator));
// Every frame
XrTime updateTime; // Time used for the current frame's simulation update.
XrLightEstimateGetInfoANDROID info = {
.type = XR_TYPE_LIGHT_ESTIMATE_GET_INFO_ANDROID,
.space = appSpace,
.time = updateTime,
};
XrDirectionalLightANDROID directionalLight = {
.type = XR_TYPE_DIRECTIONAL_LIGHT_ANDROID,
};
XrSphericalHarmonicsANDROID totalSh = {
.type = XR_TYPE_SPHERICAL_HARMONICS_ANDROID,
.kind = XR_SPHERICAL_HARMONICS_KIND_TOTAL_ANDROID,
.next = &directionalLight,
};
XrSphericalHarmonicsANDROID ambientSh = {
.type = XR_TYPE_SPHERICAL_HARMONICS_ANDROID,
.kind = XR_SPHERICAL_HARMONICS_KIND_AMBIENT_ANDROID,
.next = &totalSh,
};
XrAmbientLightANDROID ambientLight = {
.type = XR_TYPE_AMBIENT_LIGHT_ANDROID,
.next = &ambientSh,
};
XrEnvironmentLightingCubemapANDROID lightingCubemap {
.type = XR_TYPE_ENVIRONMENT_LIGHTING_CUBEMAP_ANDROID,
.next = &ambientLight,
}
XrLightEstimateANDROID estimate = {
.type = XR_TYPE_LIGHT_ESTIMATE_ANDROID,
.next = &lightingCubemap,
};
XrResult result = xrGetLightEstimateANDROID(estimator, &info, &estimate);
if (result == XR_SUCCESS &&
estimate.state == XR_LIGHT_ESTIMATE_STATE_VALID_ANDROID) {
// use directionalLight, totalSh, ambientSh, ambientLight,
// lightingCubemap, if each
// struct has a valid state field
}
// When you want to disable light estimation
CHK_XR(xrDestroyLightEstimatorANDROID(estimator));
새 객체 유형
XrLightEstimator
XrObjectType 열거형은 다음으로 확장됩니다.
XR_OBJECT_TYPE_LIGHT_ESTIMATOR_ANDROID
XrStructureType 열거형이 다음으로 확장됩니다.
XR_TYPE_LIGHT_ESTIMATOR_CREATE_INFO_ANDROID
XR_TYPE_LIGHT_ESTIMATE_GET_INFO_ANDROID
XR_TYPE_LIGHT_ESTIMATE_ANDROID
XR_TYPE_DIRECTIONAL_LIGHT_ANDROID
XR_TYPE_SPHERICAL_HARMONICS_ANDROID
XR_TYPE_AMBIENT_LIGHT_ANDROID
XR_TYPE_ENVIRONMENT_LIGHTING_CUBEMAP_ANDROID
새 열거형
새 구조
- XrLightEstimatorCreateInfoANDROID
- XrLightEstimateGetInfoANDROID
- XrLightEstimateANDROID
- XrDirectionalLightANDROID
- XrSphericalHarmonicsANDROID
- XrAmbientLightANDROID
- XrSystemLightEstimationPropertiesANDROID
- XrEnvironmentLightingCubemapANDROID
새 함수
문제
버전 기록
- 버전 2, 2025-01-17 (살라르 칸)
- 환경 조명 큐브맵 지원 추가
- 버전 1, 2024-09-16 (케언 오버터프)
- 초기 확장 프로그램 설명
OpenXR™ 및 OpenXR 로고는 The Khronos Group Inc. 소유의 상표이며 중국, 유럽 연합, 일본, 영국에 상표로 등록되어 있습니다.