欢迎使用CSDN-markdown编辑器

来源:互联网 发布:最新网络射击游戏 编辑:程序博客网 时间:2024/05/19 12:26

3Glasses D2 vr HMD 显示模式和对应opengl实验环境搭建

实验室新采购了一套3glasses D2 HMD,有幸第一时间拿来测试。3glasses D2是目前国内技术水平和用户评价都非常好的一款面向 开发/应用体验用户的VR头带显示器,详细介绍见3glasses.com。
官方提供面向unity3d 和 unreal 开发环境的插件,但是没有为其它开发环境提供驱动和sdk,相信很多人刚拿到手的时候跟我一样很懵,一时间不知道它在桌面下应该是个怎么样显示规格,自己写的窗口怎么映射到D2上。

在未安装驱动时,D2插上hdmi线默认情况下正确的显示规格如下图:
这里写图片描述

因此,对于没有安装对应驱动的开发人员来说,一个正确的双目头显屏幕投影映射应该是:
这里写图片描述

以opengl为例,假设库函数不提供多显示器模式下选择显示器的接口,如glut.h,则可以尝试如下双目画面映射方法,算法思路:

  • 获取当前桌面的尺寸,假设返回值为(width, height)
  • 新建一个2560x1440的窗口,指定窗口的左上角在 (width -2560, 0)的坐标上
  • 申请一个2560x1440的缓冲区用于D2画面刷新,缓冲区映射到上面新建的窗口中
  • 然后分别渲染左右眼图像到缓冲区[(0,1280),(0,1440)]和[(1280,2560),(0,1440)]中。
  • 发出准备完毕的消息
  • 窗口从缓冲区刷新内容

经过测试,这种方式比fullscreen方法可靠,而且部分接口不支持多显示器选择性全屏幕,还是需要自己映射的,同时易于迁移,debug也容易。

原创粉丝点击