openVR之十二大驱动接口

openVR之十二大驱动接口

目前市场上有大量的VR SDK,大多数的HMD厂商都推出自己的VR平台(如oculus, psvr,deepon,3glass等),与这些特定HMD平台有所不同的是,有一些开放的VR平台,例如OSVR,steamVR.他们的目标是能够接入所有的厂家设备(各种型号的HMD、眼球追踪、控制器、定位追踪器、摄像头等等)和游戏引擎(U3D,UE4等).从接入内容\硬件的数量和质量来看,steamVR优势明显.那么硬件和应用程序如何接入steamVR呢?那就需要通过steam开源的SDK—openVR来接入.本系列主要讨论硬件(HMD和各种外设)接入会用到的十二大接口:

  • IServerTrackedDeviceProvider
    vrserver用来查询追踪设备或关于追踪设备的一些信息,驱动必须实现的接口,详细见这里.
  • IClientTrackedDeviceProvider
    用来处理应用场景中各种各样的客户端操作,驱动必须实现的接口(后续会淘汰,但是目前还是要用),详细见这里.
  • IServerDriverHost
    这个接口由vrserver提供,用来允许驱动向系统发送通知事件,详细见这里.
  • IClientDriverHost
    这个接口由vrclient提供,允许驱动回调和查询驱动各种各样的信息,详细见这里.
  • IVRSettings
    用来设置、获取、修改配置信息的接口,详细见这里.
  • ITrackedDeviceServerDriver
    接口代表VR系统中的单个追踪设备,为vrserver提供获取设备姿态、控制使能、某些特殊功能、属性获取等接口,详细见这里.
  • IVRDisplayComponent
    追踪设备显示相关的接口,详细见这里.
  • IVRDriverDirectModeComponent
    直接渲染相关的组件(目前看来是专为oculus提供的,见详细说明),详细见这里.
  • IVRControllerComponent
    控制器接口,详细见这里.
  • IVRCameraComponent
    摄像头接口,详细见这里.
  • ICameraVideoSinkCallback
    摄像头视频接口,详细见这里.
  • IDriverLog
    驱动日志接口,详细见这里.

没整理这些之前,开发HMD驱动还是发了不少时间,突然脑袋一热突到要把openVR对硬件的这部分SDK整理清楚,然后做一个开源的完整的插件,我居然兴奋的睡不着觉,早上6点就醒来干活了…..想想我还是太年轻!
最后清明节第一天,就干了这一个事情……整理过程中发现,如果在开发前把这些接口搞懂,开发openVR硬件驱动将飞灰常简单!希望这些文档能够帮助到你.

你可能感兴趣的:(openVR)