XR_EXT_interaction_profile_battery_state_display
이름 문자열
XR_EXT_interaction_profile_battery_state_display
확장 프로그램 유형
인스턴스 확장 프로그램
등록된 확장 프로그램 번호
837
버전
1
비준 상태
비준됨
확장 프로그램 및 버전 종속 항목
최종 수정일
2025-10-21
IP 상태
알려진 IP 클레임이 없습니다.
도움을 주신 분들
John Kearney, Meta
Daniel Willmott, Valve
Denny Rönngren, Varjo
Jakob Bornecrantz, NVIDIA
Nathan Nuber, Valve
Lachlan Ford, Google
Nihav Jain, Google
개요
XR_EXT_interaction_profile_battery_state_display는 애플리케이션이 런타임에 상호작용 프로필과 함께 사용되는 기기의 배터리 상태 정보를 쿼리할 수 있는 메커니즘을 제공합니다. 이 배터리 상태 정보는 표시 목적으로만 사용해야 하며 런타임은 이 정보가 기본 제공 시스템 사용자 인터페이스에서 사용되는 정보와 일치하도록 해야 합니다.
여러 실제 기기가 사용자 맞춤설정 또는 접근성을 위해 리매핑을 실행하는 런타임과 같은 최상위 경로와 연결된 작업에 입력을 제공하는 경우 이러한 런타임은 유용한 배터리 정보를 단일 값으로 표시하기 위해 최선을 다해야 합니다.
특히 이 정보는 런타임 또는 기기 간에 보정되지 않으며 경고를 생성하거나 애플리케이션 동작을 수정하는 데 사용해서는 안 됩니다.
배터리 상태 쿼리
XrBatteryStateDisplayEXT 구조는 다음과 같이 정의됩니다.
typedef struct XrBatteryStateDisplayEXT {
XrStructureType type;
void* next;
XrBatteryStateDisplayStateFlagsEXT stateFlags;
float batteryLevel;
} XrBatteryStateDisplayEXT;
회원 설명
type은 이 구조의 XrStructureType입니다.next는NULL이거나 구조 체인의 다음 구조를 가리키는 포인터입니다.stateFlags는batteryLevel의 유효성을 XrBatteryStateDisplayStateFlagBitsEXT에 정의된 비트 마스크로 설명합니다.batteryLevel은 연결된 항목 또는 작업으로 연결된 기기의 배터리 수준 (0.0f~1.0f)입니다.
배터리 잔량을 쿼리하려면 애플리케이션이 xrGetCurrentInteractionProfile을 호출할 때 XrBatteryStateDisplayEXT 구조를 XrInteractionProfileState :: next 체인에 연결합니다 .
xrGetCurrentInteractionProfile이 XrInteractionProfileState :: interactionProfile을 XR_NULL_PATH로 설정하면 런타임은 stateFlags에서 XR_BATTERY_STATE_DISPLAY_STATE_VALID_BIT_EXT 비트를 설정해서는 안 됩니다 .
XR_BATTERY_STATE_DISPLAY_STATE_VALID_BIT_EXT는 batteryLevel에 유효한 데이터가 포함되어 있는지 나타냅니다. stateFlags에서 XR_BATTERY_STATE_DISPLAY_STATE_VALID_BIT_EXT 비트가 설정되지 않은 경우 애플리케이션은 batteryLevel을 읽어서는 안 됩니다 .
유효한 사용 (암시적)
- XrBatteryStateDisplayEXT를 사용하기 전에
XR_EXT_interaction_profile_battery_state_display확장 프로그램을 사용 설정해야 **합니다**. -
type여야 합니다XR_TYPE_BATTERY_STATE_DISPLAY_EXT -
next는NULL이거나 구조 체인의 다음 구조를 가리키는 유효한 포인터여야 합니다 -
stateFlags는 XrBatteryStateDisplayStateFlagBitsEXT 값의 유효한 조합이어야 합니다. -
stateFlags는 아니어야0
XrBatteryStateDisplayEXT :: stateFlags 멤버는 다음 유형이며 XrBatteryStateDisplayStateFlagBitsEXT에 정의된 비트의 비트 OR을 0개 이상 포함합니다 .
typedef XrFlags64 XrBatteryStateDisplayStateFlagsEXT;
// Flag bits for XrBatteryStateDisplayStateFlagsEXT
static const XrBatteryStateDisplayStateFlagsEXT XR_BATTERY_STATE_DISPLAY_STATE_VALID_BIT_EXT = 0x00000001;
static const XrBatteryStateDisplayStateFlagsEXT XR_BATTERY_STATE_DISPLAY_STATE_CHARGING_BIT_EXT = 0x00000002;
static const XrBatteryStateDisplayStateFlagsEXT XR_BATTERY_STATE_DISPLAY_STATE_PLUGGED_IN_BIT_EXT = 0x00000004;
static const XrBatteryStateDisplayStateFlagsEXT XR_BATTERY_STATE_DISPLAY_STATE_NO_BATTERY_BIT_EXT = 0x00000008;
플래그 비트는 다음과 같은 의미를 갖습니다.
플래그 설명
XR_BATTERY_STATE_DISPLAY_STATE_VALID_BIT_EXT- XrBatteryStateDisplayEXT ::batteryLevel의 유효성을 나타냅니다.XR_BATTERY_STATE_DISPLAY_STATE_CHARGING_BIT_EXT- 상호작용 프로필과 연결된 기기가 충전 중임을 나타냅니다.XR_BATTERY_STATE_DISPLAY_STATE_PLUGGED_IN_BIT_EXT- 상호작용 프로필과 연결된 기기가 전원에 연결되어 있음을 나타냅니다.XR_BATTERY_STATE_DISPLAY_STATE_NO_BATTERY_BIT_EXT- 상호작용 프로필과 연결된 기기에 배터리 전원이 없음을 나타냅니다.
예
// previously initialized
extern XrSession session;
extern XrPath topLevelUserPath;
XrBatteryStateDisplayEXT batteryStateDisplay{XR_TYPE_BATTERY_STATE_DISPLAY_EXT};
XrInteractionProfileState ipState{XR_TYPE_INTERACTION_PROFILE_STATE, &batteryStateDisplay};
CHK_XR(xrGetCurrentInteractionProfile(session, topLevelUserPath, &ipState));
if ((batteryStateDisplay.stateFlags & XR_BATTERY_STATE_DISPLAY_STATE_VALID_BIT_EXT) != 0) {
// use value of batteryStateDisplay.batteryLevel
}
새 구조
새 열거형
새 비트 마스크
새 열거형 상수
XR_EXT_INTERACTION_PROFILE_BATTERY_STATE_DISPLAY_EXTENSION_NAMEXR_EXT_interaction_profile_battery_state_display_SPEC_VERSIONXrStructureType 확장 :
XR_TYPE_BATTERY_STATE_DISPLAY_EXT
문제
애플리케이션이 이 확장 프로그램으로 헤드 마운트 기기에 표시되는 배터리 잔량을 쿼리할 수 있나요?
- 해결됨. 직접적으로 바꿀 수는 없습니다 . 이 확장 프로그램은 현재 상호작용 프로필이 있는 최상위 /user 경로에 표시되는 배터리 수준 반환만 지원합니다. 애플리케이션이 헤드 마운트 기기 ( /user/head)의 상호작용 프로필에 바인딩을 제안하고 런타임이 해당 상호작용 프로필을 활성화하면 런타임은 해당 최상위 /user 경로의 배터리 잔량을 반환할 수 있습니다.
버전 기록
버전 1, 2025-10-21 (John Kearney)
- 초안