Name String
XR_ANDROID_eye_tracking
ประเภทส่วนขยาย
ส่วนขยายอินสแตนซ์
หมายเลขต่อที่ลงทะเบียน
457
การแก้ไข
1
การขึ้นต่อกันของส่วนขยายและเวอร์ชัน
วันที่แก้ไขล่าสุด
2025-01-17
สถานะ IP
ไม่มีการอ้างสิทธิ์ใน IP ที่ทราบ
ผู้เขียน
Spencer Quin, Google
Jared Finder, Google
Levana Chen, Google
Kenny Vercaemer, Google
Prasanthi Gurumurthy, Google
Nihav Jain, Google
ภาพรวม
ส่วนขยายนี้ช่วยให้แอปพลิเคชันได้รับตำแหน่งและการวางแนวของดวงตาผู้ใช้ รวมถึงสถานะการติดตามดวงตา
ข้อมูลการติดตามดวงตามีให้ใน 2 โหมด ได้แก่ โหมดหยาบและโหมดละเอียด การติดตามแบบหยาบ จะให้ค่าประมาณแบบหยาบของดวงตาผู้ใช้ ส่วนการติดตามแบบละเอียดจะให้ค่าประมาณที่ แม่นยำกว่า การติดตามแบบหยาบมีไว้สำหรับแอปพลิเคชันที่ต้องการ แสดงภาพแทนตัวพื้นฐาน ส่วนการติดตามแบบละเอียดมีไว้สำหรับ แอปพลิเคชันที่แม่นยำกว่า
สำหรับการโต้ตอบ ควรใช้ XR_EXT_eye_gaze_interaction
ตรวจสอบความสามารถของระบบ
โครงสร้าง XrSystemEyeTrackingPropertiesANDROID มีคำจำกัดความดังนี้
typedef struct XrSystemEyeTrackingPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsEyeTracking;
} XrSystemEyeTrackingPropertiesANDROID;
คำอธิบายสมาชิก
typeคือXrStructureTypeของโครงสร้างนี้nextคือNULLหรือตัวชี้ไปยังโครงสร้างถัดไปในห่วงโซ่โครงสร้าง ไม่มี โครงสร้างดังกล่าวที่กำหนดไว้ใน OpenXR หลักหรือส่วนขยายนี้supportsEyeTrackingคือXrBool32ซึ่งระบุว่าระบบปัจจุบัน รองรับการติดตามดวงตาหรือไม่
แอปพลิเคชันสามารถตรวจสอบว่าระบบรองรับการติดตามดวงตาหรือไม่โดย
เชื่อมโยงโครงสร้าง XrSystemEyeTrackingPropertiesANDROID กับ
XrSystemProperties เมื่อเรียกใช้ xrGetSystemProperties หาก
supportsEyeTracking แสดงผล XR_FALSE แอปพลิเคชันจะได้รับ
XR_ERROR_FEATURE_UNSUPPORTED จาก xrCreateEyeTrackerANDROID
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้
XR_ANDROID_eye_trackingส่วนขยายก่อน ใช้XrSystemEyeTrackingPropertiesANDROID typeต้องเป็นXR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_ANDROIDnextต้องเป็นNULLหรือพอยน์เตอร์ที่ถูกต้องไปยัง โครงสร้างถัดไปในห่วงโซ่โครงสร้าง
สร้างแฮนเดิลของอายแทร็กเกอร์
XR_DEFINE_HANDLE(XrEyeTrackerANDROID)
แฮนเดิล XrEyeTrackerANDROID แสดงถึงอุปกรณ์ติดตามสายตาสำหรับการติดตามดวงตา
และแมปสิ่งที่ผู้ใช้กำลังมองอยู่อย่างแม่นยำ
ข้อมูลการติดตามดวงตาอาจเป็นข้อมูลส่วนบุคคลที่ละเอียดอ่อนและเชื่อมโยงอย่างใกล้ชิดกับ ความเป็นส่วนตัวและความสมบูรณ์ของข้อมูลส่วนบุคคล เราขอแนะนำอย่างยิ่งว่าแอปพลิเคชัน ที่จัดเก็บหรือโอนข้อมูลการติดตามดวงตาควรขอความยินยอมจากผู้ใช้ อย่างชัดเจนและเฉพาะเจาะจงเสมอ
แฮนเดิลนี้ใช้เพื่อเข้าถึงข้อมูลการติดตามดวงตาโดยใช้ฟังก์ชันอื่นๆ ใน ส่วนขยายนี้ได้
การติดตามดวงตาจะแสดงท่าทางและสถานะของดวงตาในฉาก
ฟังก์ชัน xrCreateEyeTrackerANDROID มีคำจำกัดความดังนี้
XrResult xrCreateEyeTrackerANDROID(
XrSession session,
const XrEyeTrackerCreateInfoANDROID* createInfo,
XrEyeTrackerANDROID* eyeTracker);
คำอธิบายพารามิเตอร์
sessionคือแฮนเดิลXrSessionที่จะเปิดใช้การติดตามดวงตาcreateInfoคือXrEyeTrackerCreateInfoANDROIDที่ใช้เพื่อระบุ การติดตามดวงตาeyeTrackerคือแฮนเดิลXrEyeTrackerANDROIDที่ส่งคืน
แอปพลิเคชันสร้างแฮนเดิล XrEyeTrackerANDROID ได้โดยใช้ฟังก์ชัน
xrCreateEyeTrackerANDROID
หากระบบไม่รองรับการติดตามดวงตา ระบบจะส่ง XR_ERROR_FEATURE_UNSUPPORTED
กลับจาก xrCreateEyeTrackerANDROID
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้ส่วนขยาย
XR_ANDROID_eye_trackingก่อนเรียกใช้xrCreateEyeTrackerANDROID sessionต้องเป็นแฮนเดิลXrSessionที่ถูกต้องcreateInfoต้องเป็นตัวชี้ไปยังโครงสร้างXrEyeTrackerCreateInfoANDROIDที่ถูกต้องeyeTrackerต้องเป็นตัวชี้ไปยังแฮนเดิลXrEyeTrackerANDROID
รหัสการคืนสินค้า
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_VALIDATION_FAILUREXR_ERROR_RUNTIME_FAILUREXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_SESSION_LOSTXR_ERROR_OUT_OF_MEMORYXR_ERROR_LIMIT_REACHEDXR_ERROR_FEATURE_UNSUPPORTED
โครงสร้าง XrEyeTrackerCreateInfoANDROID มีคำจำกัดความดังนี้
typedef struct XrEyeTrackerCreateInfoANDROID {
XrStructureType type;
void* next;
} XrEyeTrackerCreateInfoANDROID;
คำอธิบายสมาชิก
typeคือXrStructureTypeของโครงสร้างนี้nextคือNULLหรือตัวชี้ไปยังโครงสร้างถัดไปในห่วงโซ่โครงสร้าง ไม่มี โครงสร้างดังกล่าวที่กำหนดไว้ใน OpenXR หลักหรือส่วนขยายนี้
โครงสร้าง XrEyeTrackerCreateInfoANDROID จะอธิบายข้อมูลที่ใช้สร้างแฮนเดิล XrEyeTrackerANDROID
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้
XR_ANDROID_eye_trackingส่วนขยายก่อน ใช้XrEyeTrackerCreateInfoANDROID typeต้องเป็นXR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROIDnextต้องเป็นNULLหรือพอยน์เตอร์ที่ถูกต้องไปยัง โครงสร้างถัดไปในห่วงโซ่โครงสร้าง
ฟังก์ชัน xrDestroyEyeTrackerANDROID มีคำจำกัดความดังนี้
XrResult xrDestroyEyeTrackerANDROID(
XrEyeTrackerANDROID eyeTracker);
คำอธิบายพารามิเตอร์
eyeTrackerคือXrEyeTrackerANDROIDที่สร้างขึ้นก่อนหน้านี้โดยxrCreateEyeTrackerANDROID
ฟังก์ชัน xrDestroyEyeTrackerANDROID จะปล่อย eyeTracker และทรัพยากรพื้นฐานเมื่อเสร็จสิ้นประสบการณ์การติดตามดวงตา
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้ส่วนขยาย
XR_ANDROID_eye_trackingก่อนเรียกใช้xrDestroyEyeTrackerANDROID eyeTrackerต้องเป็นแฮนเดิลXrEyeTrackerANDROIDที่ถูกต้อง
ความปลอดภัยของเธรด
- การเข้าถึง
eyeTrackerและแฮนเดิลย่อยทั้งหมดต้องซิงค์ภายนอก
รหัสการคืนสินค้า
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALID
การรับข้อมูลดวงตา
ฟังก์ชัน xrGetCoarseTrackingEyesInfoANDROID มีคำจำกัดความดังนี้
XrResult xrGetCoarseTrackingEyesInfoANDROID(
XrEyeTrackerANDROID eyeTracker,
const XrEyesGetInfoANDROID* getInfo,
XrEyesANDROID* eyesOutput);
คำอธิบายพารามิเตอร์
eyeTrackerคือXrEyeTrackerANDROIDที่สร้างขึ้นก่อนหน้านี้โดยxrCreateEyeTrackerANDROIDgetInfoเป็นตัวชี้ไปยังXrEyesGetInfoANDROIDที่ใช้เพื่อระบุว่าต้องใช้เอาต์พุตใดinfoOutputเป็นตัวชี้ไปยังXrEyesANDROIDที่มีข้อมูลดวงตาที่ส่งคืน รวมถึงท่าทางและสถานะ
ฟังก์ชัน xrGetCoarseTrackingEyesInfoANDROID จะรับข้อมูลเกี่ยวกับสถานะและท่าทางของดวงตาในลักษณะที่รักษาความเป็นส่วนตัวของผู้ใช้
รันไทม์ต้องแสดงผล XR_ERROR_PERMISSION_INSUFFICIENT หากแอปพลิเคชัน
ไม่มีสิทธิ์ android.permission.EYE_TRACKING_COARSE
ข้อมูลดวงตาจะได้รับการแก้ไขและสัมพันธ์กับพื้นที่ฐาน ณ เวลาที่เรียกใช้ xrGetCoarseTrackingEyesInfoANDROID โดยใช้
XrEyesGetInfoANDROID::time, XrEyesGetInfoANDROID::baseSpace
ระบบจะติดตามหรือเลิกติดตามทั้งตำแหน่งและทิศทางของท่าทางดวงตาได้ทุกเมื่อ
ซึ่งหมายความว่าแอปพลิเคชันสามารถคาดหวังได้ว่าทั้ง
XR_SPACE_LOCATION_POSITION_TRACKED_BIT และ
XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT จะได้รับการตั้งค่าหรือล้างใน XrEyesANDROID::eyes ที่ระบุ และ XrEyesANDROID::mode จะ
ระบุสถานะการติดตาม
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้ส่วนขยาย
XR_ANDROID_eye_trackingก่อนเรียกใช้xrGetCoarseTrackingEyesInfoANDROID eyeTrackerต้องเป็นแฮนเดิลXrEyeTrackerANDROIDที่ถูกต้องgetInfoต้องเป็นตัวชี้ไปยังโครงสร้างXrEyesGetInfoANDROIDที่ถูกต้องeyesOutputต้องเป็นพอยน์เตอร์ไปยังโครงสร้างXrEyesANDROID
รหัสการคืนสินค้า
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_VALIDATION_FAILUREXR_ERROR_RUNTIME_FAILUREXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_SESSION_LOSTXR_ERROR_OUT_OF_MEMORYXR_ERROR_LIMIT_REACHEDXR_ERROR_TIME_INVALIDXR_ERROR_PERMISSION_INSUFFICIENT
ฟังก์ชัน xrGetFineTrackingEyesInfoANDROID
มีคำจำกัดความดังนี้
XrResult xrGetFineTrackingEyesInfoANDROID(
XrEyeTrackerANDROID eyeTracker,
const XrEyesGetInfoANDROID* getInfo,
XrEyesANDROID* eyesOutput);
คำอธิบายพารามิเตอร์
eyeTrackerคือXrEyeTrackerANDROIDที่สร้างขึ้นก่อนหน้านี้โดยxrCreateEyeTrackerANDROIDgetInfoเป็นตัวชี้ไปยังXrEyesGetInfoANDROIDที่ใช้เพื่อระบุว่าต้องใช้เอาต์พุตใดinfoOutputเป็นตัวชี้ไปยังXrEyesANDROIDที่มีข้อมูลดวงตาที่ส่งคืน รวมถึงท่าทางและสถานะ ฟังก์ชันxrGetFineTrackingEyesInfoANDROIDจะรับข้อมูลเกี่ยวกับสถานะดวงตาและ ท่าทางที่มีความแม่นยำสูงกว่าxrGetCoarseTrackingEyesInfoANDROID
รันไทม์ต้องแสดงผล XR_ERROR_PERMISSION_INSUFFICIENT หากแอปพลิเคชัน
ไม่มีสิทธิ์ android.permission.EYE_TRACKING_FINE
ข้อมูลดวงตาจะได้รับการแก้ไขและสัมพันธ์กับพื้นที่ฐาน ณ เวลาที่เรียกใช้ xrGetFineTrackingEyesInfoANDROID โดยใช้
XrEyesGetInfoANDROID::time, XrEyesGetInfoANDROID::baseSpace
ระบบจะติดตามหรือเลิกติดตามทั้งตำแหน่งและทิศทางของท่าทางดวงตาได้ทุกเมื่อ
ซึ่งหมายความว่าแอปพลิเคชันสามารถคาดหวังได้ว่าทั้ง
XR_SPACE_LOCATION_POSITION_TRACKED_BIT และ
XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT จะได้รับการตั้งค่าหรือล้างใน XrEyesANDROID::eyes ที่ระบุ และ XrEyesANDROID::mode จะ
ระบุสถานะการติดตาม
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้ส่วนขยาย
XR_ANDROID_eye_trackingก่อนเรียกใช้xrGetFineTrackingEyesInfoANDROID eyeTrackerต้องเป็นแฮนเดิลXrEyeTrackerANDROIDที่ถูกต้องgetInfoต้องเป็นตัวชี้ไปยังโครงสร้างXrEyesGetInfoANDROIDที่ถูกต้องeyesOutputต้องเป็นพอยน์เตอร์ไปยังโครงสร้างXrEyesANDROID
รหัสการคืนสินค้า
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_VALIDATION_FAILUREXR_ERROR_RUNTIME_FAILUREXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_SESSION_LOSTXR_ERROR_OUT_OF_MEMORYXR_ERROR_LIMIT_REACHEDXR_ERROR_TIME_INVALIDXR_ERROR_PERMISSION_INSUFFICIENT
โครงสร้าง XrEyesGetInfoANDROID มีข้อมูลที่จำเป็นต่อการ
ดึงท่าทางและสถานะของดวงตา
typedef struct XrEyesGetInfoANDROID {
XrStructureType type;
void* next;
XrTime time;
XrSpace baseSpace;
} XrEyesGetInfoANDROID;
คำอธิบายสมาชิก
typeคือXrStructureTypeของโครงสร้างนี้nextคือNULLหรือตัวชี้ไปยังโครงสร้างถัดไปในห่วงโซ่โครงสร้าง ไม่มี โครงสร้างดังกล่าวที่กำหนดไว้ใน OpenXR หลักหรือส่วนขยายนี้timeคือXrTimeที่ใช้ประเมินพิกัดที่สัมพันธ์กับbaseSpacebaseSpaceท่าทางของดวงตาจะสัมพันธ์กับXrSpaceนี้ที่time
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้
XR_ANDROID_eye_trackingส่วนขยายก่อน ใช้XrEyesGetInfoANDROID typeต้องเป็นXR_TYPE_EYES_GET_INFO_ANDROIDnextต้องเป็นNULLหรือพอยน์เตอร์ที่ถูกต้องไปยัง โครงสร้างถัดไปในห่วงโซ่โครงสร้างbaseSpaceต้องเป็นแฮนเดิลXrSpaceที่ถูกต้อง
โครงสร้าง XrEyesANDROID มีข้อมูลเกี่ยวกับดวงตาที่ติดตาม
typedef struct XrEyesANDROID {
XrStructureType type;
void* next;
XrEyeANDROID eyes[XR_EYE_MAX_ANDROID];
XrEyeTrackingModeANDROID mode;
} XrEyesANDROID;
คำอธิบายสมาชิก
typeคือXrStructureTypeของโครงสร้างนี้nextคือNULLหรือตัวชี้ไปยังโครงสร้างถัดไปในห่วงโซ่โครงสร้าง ไม่มี โครงสร้างดังกล่าวที่กำหนดไว้ใน OpenXR หลักหรือส่วนขยายนี้eyesคืออาร์เรย์ของXrEyeANDROIDสำหรับตาซ้ายและขวาตามที่จัดทำดัชนีโดยXrEyeIndexANDROIDmodeคือXrEyeTrackingModeANDROIDเพื่อระบุว่าดวงตากำลัง ติดตามอยู่หรือไม่และติดตามดวงตาใด
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้
XR_ANDROID_eye_trackingส่วนขยายก่อน ใช้XrEyesANDROID typeต้องเป็นXR_TYPE_EYES_ANDROIDnextต้องเป็นNULLหรือพอยน์เตอร์ที่ถูกต้องไปยัง โครงสร้างถัดไปในห่วงโซ่โครงสร้าง- องค์ประกอบที่ระบุของ
eyesต้องเป็นโครงสร้างXrEyeANDROIDที่ถูกต้อง modeต้องเป็นค่าXrEyeTrackingModeANDROIDที่ถูกต้อง
โครงสร้าง XrEyeANDROID อธิบายสถานะ ตำแหน่ง และการวางแนวของดวงตา
typedef struct XrEyeANDROID {
XrEyeStateANDROID eyeState;
XrPosef eyePose;
} XrEyeANDROID;
คำอธิบายสมาชิก
eyeStateคือXrEyeStateANDROIDของดวงตาposeคือXrPosefที่กำหนดตำแหน่งและทิศทางของ จุดกำเนิดของดวงตาภายในกรอบอ้างอิงของXrEyesGetInfoANDROID::baseSpaceที่เกี่ยวข้อง การวางแนวระบุตัวตนในที่นี้แสดงถึง แกนพิกัดที่มี +Z เข้าไปในดวงตาของผู้ใช้ +X ไปทางขวา และ +Y ขึ้น
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้
XR_ANDROID_eye_trackingส่วนขยายก่อน ใช้XrEyeANDROID eyeStateต้องเป็นค่าXrEyeStateANDROIDที่ถูกต้อง
การแจงนับ XrEyeStateANDROID จะระบุสถานะต่างๆ ของ
ดวงตาที่ติดตาม
typedef enum XrEyeStateANDROID {
XR_EYE_STATE_INVALID_ANDROID = 0,
XR_EYE_STATE_GAZING_ANDROID = 1,
XR_EYE_STATE_SHUT_ANDROID = 2
} XrEyeStateANDROID;
โดย Enum มีความหมายดังนี้
Enum |
คำอธิบาย |
|
ระบุว่าดวงตาอยู่ในสถานะข้อผิดพลาดหรือไม่ |
|
ระบุว่าดวงตากำลังจ้อง |
|
ระบุว่าดวงตาปิดเนื่องจากกะพริบตาหรือหลับตา |
การแจงนับ XrEyeIndexANDROID จะระบุดัชนีของตาซ้ายหรือขวา
typedef enum XrEyeIndexANDROID {
XR_EYE_INDEX_LEFT_ANDROID = 0,
XR_EYE_INDEX_RIGHT_ANDROID = 1
} XrEyeIndexANDROID;
โดย Enum มีความหมายดังนี้
Enum |
คำอธิบาย |
|
ตาซ้าย |
|
ตาขวา |
การแจงนับ XrEyeTrackingModeANDROID จะระบุโหมดต่างๆ ของ
ดวงตาที่ติดตาม
typedef enum XrEyeTrackingModeANDROID {
XR_EYE_TRACKING_MODE_NOT_TRACKING_ANDROID = 0,
XR_EYE_TRACKING_MODE_RIGHT_ANDROID = 1,
XR_EYE_TRACKING_MODE_LEFT_ANDROID = 2,
XR_EYE_TRACKING_MODE_BOTH_ANDROID = 3
} XrEyeTrackingModeANDROID;
โดย Enum มีความหมายดังนี้
Enum |
คำอธิบาย |
|
บ่งบอกว่าการติดตามดวงตาไม่ได้ทำงานอยู่ |
|
แสดงว่าระบบกำลังติดตามเฉพาะตาขวา |
|
แสดงว่าระบบกำลังติดตามเฉพาะตาซ้าย |
|
บ่งบอกว่าทั้งตาซ้ายและขวากำลังติดตาม |
ตัวอย่างโค้ดสำหรับการติดตามดวงตา
โค้ดตัวอย่างต่อไปนี้แสดงวิธีรับข้อมูลดวงตาที่สัมพันธ์กับพื้นที่มุมมอง
XrSession session; // previously initialized, e.g. created at app startup.
XrSpace viewSpace; // space created for XR_REFERENCE_SPACE_TYPE_VIEW.
// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrCreateEyeTrackerANDROID xrCreateEyeTrackerANDROID; // previously initialized
PFN_xrDestroyEyeTrackerANDROID xrDestroyEyeTrackerANDROID; // previously initialized
PFN_xrGetCoarseTrackingEyesInfoANDROID xrGetCoarseTrackingEyesInfoANDROID; // previously initialized
PFN_xrGetFineTrackingEyesInfoANDROID xrGetFineTrackingEyesInfoANDROID; // previously initialized
// This will use the XrSession that is bound to the eye tracker done at time of creation.
XrEyeTrackerANDROID eyeTracker;
XrEyeTrackerCreateInfoANDROID createInfo{
.type = XR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROID,
.next = nullptr};
CHK_XR(xrCreateEyeTrackerANDROID(session, &createInfo, &eyeTracker));
while (1) {
// ...
// For every frame in frame loop
// ...
XrFrameState frameState; // previously returned from xrWaitFrame
const XrTime time = frameState.predictedDisplayTime;
XrEyesANDROID fineEyesInfo{.type = XR_TYPE_EYES_ANDROID,
.next = nullptr,
.mode = XR_EYE_TRACKING_MODE_BOTH_ANDROID};
XrEyesANDROID coarseEyesInfo{.type = XR_TYPE_EYES_ANDROID,
.next = nullptr,
.mode = XR_EYE_TRACKING_MODE_BOTH_ANDROID};
XrEyesGetInfoANDROID eyesGetInfo{.type = XR_TYPE_EYES_GET_INFO_ANDROID,
.next = nullptr,
.time = time,
.baseSpace = viewSpace};
CHK_XR(xrGetCoarseTrackingEyesInfoANDROID(eyeTracker, &eyesGetInfo, &coarseEyesInfo));
CHK_XR(xrGetFineTrackingEyesInfoANDROID(eyeTracker, &eyesGetInfo, &fineEyesInfo));
// eyes tracking information is now available:
// drawLeftEye(eyesInfo.eyes[XR_EYE_INDEX_LEFT_ANDROID].eyePose);
// drawRightEye(eyesInfo.eyes[XR_EYE_INDEX_RIGHT_ANDROID].eyePose);
// ...
// Finish frame loop
// ...
}
// after usage
CHK_XR(xrDestroyEyeTrackerANDROID(eyeTracker));
ประเภทออบเจ็กต์ใหม่
ค่าคงที่ Enum ใหม่
XR_EYE_MAX_ANDROID
การแจงนับ XrObjectType จะขยายด้วยรายการต่อไปนี้
XR_OBJECT_TYPE_EYE_TRACKER_ANDROID
การแจงนับ XrStructureType จะขยายด้วยรายการต่อไปนี้
XR_TYPE_EYES_ANDROIDXR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROIDXR_TYPE_EYES_GET_INFO_ANDROIDXR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_ANDROID
Enum ใหม่
โครงสร้างใหม่
XrEyeANDROIDXrEyesANDROIDXrEyesGetInfoANDROIDXrEyeTrackerCreateInfoANDROIDXrSystemEyeTrackingPropertiesANDROID
ฟังก์ชันใหม่
xrCreateEyeTrackerANDROIDxrDestroyEyeTrackerANDROIDxrGetCoarseTrackingEyesInfoANDROIDxrGetFineTrackingEyesInfoANDROID
ปัญหา
ประวัติเวอร์ชัน
- การแก้ไข 1, 2025-01-17 (Kenny Vercaemer)
- คำอธิบายส่วนขยายเริ่มต้น
OpenXR™ และโลโก้ OpenXR เป็นเครื่องหมายการค้าของ The Khronos Group Inc. และจดทะเบียนเป็นเครื่องหมายการค้าในจีน สหภาพยุโรป ญี่ปุ่น และสหราชอาณาจักร