สตริงชื่อ
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_ANDROID
next
ต้องเป็น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_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_LIMIT_REACHED
XR_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_ANDROID
next
ต้องเป็นNULL
หรือพอยน์เตอร์ที่ถูกต้องไปยังโครงสร้างถัดไปในเชนโครงสร้าง
ฟังก์ชัน xrDestroyEyeTrackerANDROID
ได้รับการกําหนดดังนี้
XrResult xrDestroyEyeTrackerANDROID(
XrEyeTrackerANDROID eyeTracker);
คําอธิบายพารามิเตอร์
eyeTracker
เป็นXrEyeTrackerANDROID
ที่xrCreateEyeTrackerANDROID
สร้างขึ้นก่อนหน้านี้
ฟังก์ชัน xrDestroyEyeTrackerANDROID
จะปล่อย eyeTracker
และทรัพยากรพื้นฐานเมื่อประสบการณ์การติดตามสายตาสิ้นสุดลง
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้ส่วนขยาย
XR_ANDROID_eye_tracking
ก่อนเรียกใช้xrDestroyEyeTrackerANDROID
eyeTracker
ต้องเป็นแฮนเดิลXrEyeTrackerANDROID
ที่ถูกต้อง
ความปลอดภัยของชุดข้อความ
- การเข้าถึง
eyeTracker
และตัวแฮนเดิลย่อยต้องได้รับการซิงค์จากภายนอก
รหัสการคืนสินค้า
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_HANDLE_INVALID
การรับข้อมูลดวงตา
ฟังก์ชัน xrGetCoarseTrackingEyesInfoANDROID
ได้รับการกําหนดดังนี้
XrResult xrGetCoarseTrackingEyesInfoANDROID(
XrEyeTrackerANDROID eyeTracker,
const XrEyesGetInfoANDROID* getInfo,
XrEyesANDROID* eyesOutput);
คําอธิบายพารามิเตอร์
eyeTracker
เป็นXrEyeTrackerANDROID
ที่xrCreateEyeTrackerANDROID
สร้างขึ้นก่อนหน้านี้getInfo
คือพอยน์เตอร์ไปยัง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_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_LIMIT_REACHED
XR_ERROR_TIME_INVALID
XR_ERROR_PERMISSION_INSUFFICIENT
ฟังก์ชัน xrGetFineTrackingEyesInfoANDROID
จะกำหนดดังนี้
{:#xrGetFineTrackingEyesInfoANDROID}
C++
XrResult xrGetFineTrackingEyesInfoANDROID(
XrEyeTrackerANDROID eyeTracker,
const XrEyesGetInfoANDROID* getInfo,
XrEyesANDROID* eyesOutput);
คําอธิบายพารามิเตอร์
eyeTracker
เป็นXrEyeTrackerANDROID
ที่xrCreateEyeTrackerANDROID
สร้างขึ้นก่อนหน้านี้getInfo
คือพอยน์เตอร์ไปยัง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_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_LIMIT_REACHED
XR_ERROR_TIME_INVALID
XR_ERROR_PERMISSION_INSUFFICIENT
โครงสร้าง XrEyesGetInfoANDROID
มีข้อมูลที่จําเป็นในการดึงข้อมูลท่าทางและสถานะของดวงตา
typedef struct XrEyesGetInfoANDROID {
XrStructureType type;
void* next;
XrTime time;
XrSpace baseSpace;
} XrEyesGetInfoANDROID;
คำอธิบายสมาชิก
type
คือXrStructureType
ของโครงสร้างนี้next
คือNULL
หรือพอยน์เตอร์ไปยังโครงสร้างถัดไปในเชนโครงสร้าง ไม่มีการกำหนดโครงสร้างดังกล่าวใน OpenXR หลักหรือส่วนขยายนี้time
คือXrTime
ที่จะใช้ประเมินพิกัดซึ่งสัมพันธ์กับbaseSpace
baseSpace
การวางดวงตาจะสัมพันธ์กับXrSpace
นี้ที่time
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้ส่วนขยาย
XR_ANDROID_eye_tracking
ก่อนใช้XrEyesGetInfoANDROID
type
ต้องเป็นXR_TYPE_EYES_GET_INFO_ANDROID
next
ต้องเป็น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
สำหรับตาซ้ายและขวา โดยเรียงตามลําดับโดยXrEyeIndexANDROID
mode
คือXrEyeTrackingModeANDROID
เพื่อระบุว่าดวงตากำลังติดตามหรือไม่และติดตามดวงตาข้างใด
การใช้งานที่ถูกต้อง (โดยนัย)
- ต้องเปิดใช้ส่วนขยาย
XR_ANDROID_eye_tracking
ก่อนใช้XrEyesANDROID
type
ต้องเป็นXR_TYPE_EYES_ANDROID
next
ต้องเป็น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 |
คำอธิบาย |
|
บ่งบอกว่ารูปดวงตาอยู่ในสถานะข้อผิดพลาดหรือไม่แสดง |
|
บ่งบอกว่าดวงตากลอกมอง |
|
บ่งบอกว่าตาปิดอยู่เนื่องจากการกะพริบตา |
การแจกแจง XrEyeIndexANDROID
จะระบุดัชนีของตาซ้ายหรือขวา
typedef enum XrEyeIndexANDROID {
XR_EYE_INDEX_LEFT_ANDROID = 0,
XR_EYE_INDEX_RIGHT_ANDROID = 1
} XrEyeIndexANDROID;
ซึ่งแต่ละค่ามีความหมายดังนี้
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 |
คำอธิบาย |
|
บ่งบอกว่าการติดตามสายตาไม่ทำงาน |
|
บ่งบอกว่ามีเพียงตาขวาที่ติดตาม |
|
บ่งบอกว่ามีเพียงตาซ้ายที่ติดตาม |
|
บ่งบอกว่าทั้งตาซ้ายและขวากำลังติดตาม |
ตัวอย่างโค้ดสําหรับการติดตามการเคลื่อนไหวของตา
โค้ดตัวอย่างต่อไปนี้แสดงวิธีรับข้อมูลการมองที่เกี่ยวข้องกับพื้นที่การมองเห็น
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_ANDROID
XR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROID
XR_TYPE_EYES_GET_INFO_ANDROID
XR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_ANDROID
Enum ใหม่
โครงสร้างใหม่
XrEyeANDROID
XrEyesANDROID
XrEyesGetInfoANDROID
XrEyeTrackerCreateInfoANDROID
XrSystemEyeTrackingPropertiesANDROID
ฟังก์ชันใหม่
xrCreateEyeTrackerANDROID
xrDestroyEyeTrackerANDROID
xrGetCoarseTrackingEyesInfoANDROID
xrGetFineTrackingEyesInfoANDROID
ปัญหา
ประวัติเวอร์ชัน
- ฉบับที่ 1, 17-01-2025 (Kenny Vercaemer)
- คำอธิบายส่วนขยายเริ่มต้น