异步时间扭曲

时间扭曲(TW):

VR中,时间扭曲可显著减少头部运动显示在HMD内的图像之间的延迟。

理想状态下,渲染引擎应该使用图像在屏幕上显示前的那一瞬间的头部姿态(旋转信息和位置信息)数据来渲染图像。而实际中,因为渲染需要耗费一定的时间,导致渲染引擎使用的头部姿态数据不是显示前一瞬间的数据,而是显示前还隔了一小段时间之前的数据。而就在这一小段时间内,头部移动了,因此屏幕上显示出来的图像就会比当前实际的姿态数据有滞后。也就是说,显示在屏幕上的图像用的不是当前实际头部姿态的数据。

这里举一个实例,假设需要以90FPS速率来进行渲染,意味着每个帧的渲染过程将会持续约11ms左右。这里假设头部姿态数据的获取是持续不断的且毫无延迟,而渲染需要耗时10ms,在已知渲染时间的情况下,渲染引擎开始渲染的时刻要求是越晚越好,也就是渲染引擎此时渲染的是10ms之前的那个帧,同理,渲染引擎使用的头部姿态数据也是10ms前的数据。若是头部以200度每秒的速度在旋转,10ms就相当于2度。若HMD的水平视野为100度且有1000个像素,一个2度的误差意味着显示图像滞后于头部运动大约20个像素了。

但实际应用中显示即使有一个2度的头部运动也不会引起太大的图像显示异常,基于此,提出一种解决方案:在屏幕上将图像移动20个像素(基于上面实例中的2度),最终呈现的图像将会与实际头部运动时应该渲染的图像非常一致,也就是在实际渲染的10ms前的图像上加上一个20度像素的补偿再提交到屏幕上。

时间扭曲实际所做的事情就是:基于渲染引擎开始

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值