ส่วนขยาย XR_ANDROID_eye_tracking OpenXR

Name String

XR_ANDROID_eye_tracking

ประเภทส่วนขยาย

ส่วนขยายอินสแตนซ์

หมายเลขต่อที่ลงทะเบียน

457

การแก้ไข

1

การขึ้นต่อกันของส่วนขยายและเวอร์ชัน

OpenXR 1.0

วันที่แก้ไขล่าสุด

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_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

การใช้งานที่ถูกต้อง (โดยนัย)

ฟังก์ชัน xrDestroyEyeTrackerANDROID มีคำจำกัดความดังนี้

XrResult xrDestroyEyeTrackerANDROID(
    XrEyeTrackerANDROID                         eyeTracker);

คำอธิบายพารามิเตอร์

ฟังก์ชัน 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 มีคำจำกัดความดังนี้

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

การใช้งานที่ถูกต้อง (โดยนัย)

โครงสร้าง 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 เพื่อระบุว่าดวงตากำลัง ติดตามอยู่หรือไม่และติดตามดวงตาใด

การใช้งานที่ถูกต้อง (โดยนัย)

โครงสร้าง 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

คำอธิบาย

XR_EYE_STATE_INVALID_ANDROID

ระบุว่าดวงตาอยู่ในสถานะข้อผิดพลาดหรือไม่

XR_EYE_STATE_GAZING_ANDROID

ระบุว่าดวงตากำลังจ้อง

XR_EYE_STATE_SHUT_ANDROID

ระบุว่าดวงตาปิดเนื่องจากกะพริบตาหรือหลับตา

การแจงนับ XrEyeIndexANDROID จะระบุดัชนีของตาซ้ายหรือขวา

typedef enum XrEyeIndexANDROID {
    XR_EYE_INDEX_LEFT_ANDROID = 0,
    XR_EYE_INDEX_RIGHT_ANDROID = 1
} XrEyeIndexANDROID;

โดย Enum มีความหมายดังนี้

Enum

คำอธิบาย

XR_EYE_INDEX_LEFT_ANDROID

ตาซ้าย

XR_EYE_INDEX_RIGHT_ANDROID

ตาขวา

การแจงนับ 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

คำอธิบาย

XR_EYE_TRACKING_MODE_NOT_TRACKING_ANDROID

บ่งบอกว่าการติดตามดวงตาไม่ได้ทำงานอยู่

XR_EYE_TRACKING_MODE_RIGHT_ANDROID

แสดงว่าระบบกำลังติดตามเฉพาะตาขวา

XR_EYE_TRACKING_MODE_LEFT_ANDROID

แสดงว่าระบบกำลังติดตามเฉพาะตาซ้าย

XR_EYE_TRACKING_MODE_BOTH_ANDROID

บ่งบอกว่าทั้งตาซ้ายและขวากำลังติดตาม

ตัวอย่างโค้ดสำหรับการติดตามดวงตา

โค้ดตัวอย่างต่อไปนี้แสดงวิธีรับข้อมูลดวงตาที่สัมพันธ์กับพื้นที่มุมมอง

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 ใหม่

โครงสร้างใหม่

ฟังก์ชันใหม่

ปัญหา

ประวัติเวอร์ชัน

  • การแก้ไข 1, 2025-01-17 (Kenny Vercaemer)
    • คำอธิบายส่วนขยายเริ่มต้น

OpenXR™ และโลโก้ OpenXR เป็นเครื่องหมายการค้าของ The Khronos Group Inc. และจดทะเบียนเป็นเครื่องหมายการค้าในจีน สหภาพยุโรป ญี่ปุ่น และสหราชอาณาจักร