理解前向渲染和延迟渲染

看了很多网上的文章,之前一直不明白为什么前向渲染的光照计算量要比延迟渲染大,其实关键是没有理解“深度测试”对光照计算的影响(光照计算采用pbr理论,计算量很大);

深度测试具有一定的随机性,如果一个像素点在z轴方向上有很多个三角形,那么其中绝大部分三角形的光照计算都是浪费的(最终只有最近的那个顶点才是有效的);

而采用延迟渲染则保证了最后参与光照计算的那个三角形(其实是顶点)肯定都是有效三角形,从而降低了整体的计算量;

当然,延迟渲染也不是完美的,缺点是要消耗很多内存buffer和带宽资源, 所以在手机上又引入了TBDR框架(Tile based delay rendering);

注:在延迟渲染中,在Gemeory-pass生成gBuffer之后用于光照pass的输入,在光照Pass中,第一个DrawCall一般是先绘制不透明物体,后面DrawCall再绘制透明物体,再绘制光照相关的信息;

前向渲染和延迟渲染:https://www.cnblogs.com/nafio/p/12789848.html
深度测试:https://www.jianshu.com/p/82af21eda232

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值