GDC2017: PlayStation VR Worlds中的渲染优化

介绍了一种很trick的优化方法: Checkerboard Rendering
这里他们称之为Resolution Gradient
这里写图片描述
主要的思想跟NVIDIA的MultiRes Shading差不多, 但是不用依赖硬件的特性才能实现. 简单一点说就是, 因为VR显示器透镜变形的原因, 边缘的渲染分辨率用不着那么高, 中心区域是全分辨率就好了.
这个优化思路来自于GDC2016上”Fast and Flexible: Technical Art and Rendering For The Unknown”.
这里写图片描述
这里写图片描述
通过4个2x2像素的Quad(这是做像素着色的基本单位)做Mask, 就能实现4个级别的分辨率
这里写图片描述
空出来的那些黑色像素使用最近有效像素的颜色填充上, 需要一个额外的Dilate Pass(当然也可以整合到后期效果里, 直接在采样时就取有效像素)
这里写图片描述
跟TemporalAA结合到一起可以解决走样的问题, 但是需要每帧使用不同的Mask
这里写图片描述
在60FPS的情况下, 结省了大约4ms!!!
但是走样的问题还是挺明显的, 特别是在高频细节或者动态的像素上
这里写图片描述
这里写图片描述
这里写图片描述
与4x4MSAA一起用, 调整MSAA的采样位置, 这样可以做到像素级的Mask, 而不是之前的Quad, 效果也就好多了
这里写图片描述
这里写图片描述
还有一个问题, 如果不能开Early Z, 那么这个优化就没意义了, 解决办法是弄个PrePass
这里写图片描述
未来可以根据画的物件类型来决定哪些像素使用低分辨率(Mask)来渲染


既然这个技术不依赖特定的显卡, 那么就可以在PC的VR游戏上用, 在PixelBound的情况下, 性能提升应该还是很可观的, 后续有时间可以尝试下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值