OpenGL-overDraw

什么是overdraw

overdraw是指同一帧中一个像素被重复渲染的次数

像素填充率

GPU在每一帧内向帧缓冲中写入像素的数量 通常计算方法按照光栅化单元乘以这个GPU的核心时钟频率来获得

关于一个正常渲染

大佬的图
如果我们不考虑z-early这种 正常绘制 从后往前绘制 我们会先绘制球 然后在深度缓冲区 和颜色缓冲区填入数据(因为这个时候一定能通过深度测试 深度测试里面没有数据) 然后再绘制立方体的时候 同样会通过深度测试 这样就会覆盖前面球体填入深度缓冲和颜色缓冲的数据 这样就造成前面的填入的没有意义的 所以现在大多数引擎在绘制非透明物体时都采用先提交近处的物体 再提交远处的物体 就是先提交立方体 再提交球体 这样球体被遮挡的那部分是没办法通过深度测试的 就不会造成无效的写入

什么时候出现overdraw

一般非透明的片元都只需要绘制一次
而透明混融的物体就需要绘制几次
半透明物体都是从后往前渲染。你渲染的半透明物体叠加的越多,则overdraw越高。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值