Ссылки на код

Поскольку софт от разработчика работает только на Windows, а мне хотелось работать с очками в том числе на MacOS и Linux, я приняла решение написать свой VR композитор для данных очков, а для этого вынести работу с очками в SDK, в качестве ЯП взяла C++ и C для экспоза API.

В процессе ресерча я написала SDK для RayNeo очков с usb подключением: https://github.com/verncat/RayNeo-Air-3S-Pro-OpenVR

и OpenVR (SteamVR) драйвер: https://github.com/verncat/RayNeo-Air-3S-Pro-OpenVR-Driver/

Работа с очками

Очки для хост устройства USB представляют из себя type-c alt mode DP дисплей и одно устройство USB, висящее на той же шине.

У очков есть два так называемых режима 2D и 3D, переключаемые командами по usb. Помимо этого, можно включать подписку на IMU - очки начнут раз в примерно 500 в сек присылать снапшот Imu, в котором хранятся данные о Акселерометре, Гироскопе, Магнетометре в данный момент времени, таймстамп тоже включен.

Дисплей

Представляет из себя SBS картинку - картинка для левого и правого глаза. Показываем картинку через композитор ОС - просто отображаем окно на нем, можно найти по EID дисплея. (К слову, я пишу сейчас встраиваемый VR композитор для этих очков под MacOS, Windows и Linux)

Разрешение в 2D режиме: <вставить>

Разрешение в 3D режиме: <вставить>