HTC VIVE SDK 中的例子 hellovr_opengl 程序流程分析
2017-03-21 17:31
316 查看
最近Vive的VR头盔设备很火,恰逢项目需求,所以对 SDK 中的例子 hellovr_opengl 做了比较细致的代码分析,先将流程图绘制如下,便于大家理解。
在ViVe头盔中实现立体效果的技术核心:
如果要外挂Vive的VR设备实现立体效果,我们关键是要首先生成左右眼的FBO对象(渲染速度快),然后依次从左眼渲染场景和从右眼渲染场景,渲染结束后获取渲染得到的左右眼FBO对象绑定的纹理,将纹理对象提交给VRCompositor(Vr序列器)。
手柄是HTC Vive的重要交互手段,我们通过第一个图片应该对其有一个直观的了解了,总共是九个按钮:
第一个是菜单按钮;
2,3,4,5分别对应的是Trackpad/Touchpad的上下左右,有时候对应的是XBox手柄的▲OX囗四个按钮或者摇杆;
6对应的是系统按钮/Steam;
7是Trigger/扳机,对应大多数FPS游戏里面的枪械的Shoot/Fire;
8对应的Grip/紧握在手柄的左右两侧各有一个,有时候我们用它来翻页;
9其实是Trackpad/Touchpad在Z轴的一个延伸,相当于是点击事件Click.
SteamVR_TrackedController是基于OpenVR来实现手柄交互的,下面的链接里写了一个应用例子
[CloudHu] HTC Vive之Unity3d开发日记@1
http://www.manew.com/thread-89036-1-1.html
在ViVe头盔中实现立体效果的技术核心:
如果要外挂Vive的VR设备实现立体效果,我们关键是要首先生成左右眼的FBO对象(渲染速度快),然后依次从左眼渲染场景和从右眼渲染场景,渲染结束后获取渲染得到的左右眼FBO对象绑定的纹理,将纹理对象提交给VRCompositor(Vr序列器)。
手柄是HTC Vive的重要交互手段,我们通过第一个图片应该对其有一个直观的了解了,总共是九个按钮:
第一个是菜单按钮;
2,3,4,5分别对应的是Trackpad/Touchpad的上下左右,有时候对应的是XBox手柄的▲OX囗四个按钮或者摇杆;
6对应的是系统按钮/Steam;
7是Trigger/扳机,对应大多数FPS游戏里面的枪械的Shoot/Fire;
8对应的Grip/紧握在手柄的左右两侧各有一个,有时候我们用它来翻页;
9其实是Trackpad/Touchpad在Z轴的一个延伸,相当于是点击事件Click.
SteamVR_TrackedController是基于OpenVR来实现手柄交互的,下面的链接里写了一个应用例子
[CloudHu] HTC Vive之Unity3d开发日记@1
http://www.manew.com/thread-89036-1-1.html
相关文章推荐
- Htc Vive Sdk(OpenVR),Unity3d 开发,UGUI响应代码分析篇
- Htc Vive Sdk(OpenVR),Unity3d 开发,手柄射线
- Htc Vive Sdk(OpenVR),Hello World
- Htc Vive Sdk(OpenVR),Unity3d 开发,UGUI界面响应
- Htc Vive Sdk(OpenVR),Unity3d 开发,手柄射线
- Android 上层界面到内核代码的完整的流程分析,以alarm为例子
- Linux开机流程分析与Grub引导程序
- OpenGL程序初始化的最简流程
- 第一个OpenGL程序例子
- [转载]分析SDK下的俄罗斯方块程序(仅供学习使用)
- 分析一下android2.3中SensorBase.cpp的程序流程
- iPhone企业应用实例分析之二:程序处理流程
- OpenGL 一般程序创建流程
- struts1学习之--4、分析和体验struts1程序执行流程
- Android程序的执行流程分析
- HEVC/H.265整个程序调用流程分析以及函数复杂度分析
- live555客户端程序openrtsp程序流程详细分析
- 在MFC下使用OpenGL的一个简单的例子(基于单文档程序)
- BREW SDK的Media程序分析
- OGRE 1.7 例子程序分析