前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法决定虚拟现实SDK开发效果

算法决定虚拟现实SDK开发效果

作者头像
BestSDK
发布2018-02-26 17:43:12
1.5K0
发布2018-02-26 17:43:12
举报
文章被收录于专栏:BestSDKBestSDK

不论什么程序还是应用,算法永远是其中的灵魂。VR设备也不例外,一个好的算法可以决定该VR的最终效果,所以如果做虚拟现实SDK开发,算法才是其关键。

其实虚拟现实的SDK与普通应用开发使用的SDK还是大致一样的,开发者只要调用每个设备虚拟现实提供商的SDK,便可以省去底层开发流程。SDK可以隐藏VR中的一些实现细节,支持游戏开发者开发VR游戏。同时硬件厂商可以针对虚拟现实头戴设备做特殊的优化,并为游戏开发者提供快捷有效的服务和帮助。

如果开发者想让用户获得极致的VR体验,就离不开三个算法:反畸变、反色散和Timewarp。一般人或许并不了解这是什么用的。简单来说,就是减少眩晕感,提升游戏体验的。下面对这三个算法做简单的解释。

首先是反畸变。由于显示屏上的图像在透过透镜放大时,图像会被畸变。为了抵消这个畸变,就需要对图像进行拉伸扭曲,这样投射到视网膜上的就是没有变形的图像。

反畸变算法:正常透过透镜放大图片呈现出的图像和使用反畸变算法后透过透镜放大的图像对比。不难理解,既然透镜会造成图像的变形,那么只要以毒攻毒,在透镜之前对透镜做一次变形,出来的图像就是没有畸变的。

第二个算法是反色散。高中物理课上都学过三棱镜的实验,让一束白光穿过三棱镜,从三棱镜射出的是一道彩虹。那是因为不同颜色的光线折射率不同。采取类似反畸变的做法,利用光路是可逆的原理,既然经过透镜的时候会发生色散,那何不在进入透镜之前先将图像做一次色散,这样经过透镜出来的就是正常图像了。

最后一个算法是Timewarp。它在这三个算法中是最难于理解的算法。众所周知,电脑屏幕会以一个固定的频率(一般是60Hz)刷新,将图像 呈现在观看者面前。VR头盔里面的显示器也不例外。这就造成了从图像,到视网膜有至少16.6毫秒的延迟。而电脑也是随着这个刷新的时间更新图像,期间也 有大约16.6毫秒的延迟。于是从头部旋转,到视网膜上成像,总共需要耗费33.3毫秒。大多数人都可以感受到这样的延迟,感受到眩晕。于是需要 Timewarp算法。

Timewarp算法在图像显示之前,额外获取一次旋转信息,然后对图像做处理,就能减少从旋转到最终图像输出之间的延迟。理想状况下,这样的延迟可以减少到几个毫秒,任何人都无法感觉到这个延迟的存在。

三个算法共同作用时,才能给游戏玩家带来最佳的体验。不论在SDK的技术,还是硬件兼容性。虽然现在VR设备还处于摸索与测试阶段,但是可以肯定的是未来VR设备肯定不止应用于游戏当中,会更多的融入到我们生活当中。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BestSDK 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档