技美知识学习3500:Early-z和Z-prepass

本文详细介绍了Early-Z和Z-Prepass技术在图形渲染中的应用,包括它们如何减少不必要的片元计算,提高渲染效率。同时探讨了这两种技术的优缺点,并通过实例演示了如何在头发渲染和X光效果实现中应用这些技术。

学习教程来自:【技术美术百人计划】图形 3.5 Early-z和Z-prepass

Early-z和Z-prepass

1.深度测试

Depth Test,用来解决物体可见遮挡性

顶点着色器->曲面细分->几何着色器->光栅化->片元着色器->透明度测试->模板测试->深度测试->混合

渲染流程详见:
技美知识学习1100:渲染管线

没有通过测试的片元会被丢弃,导致这些片元的计算量被浪费

2.提前深度测试

Early-Z,用来解决过多不必要的片元计算问题(1中的缺陷)
顶点着色器->曲面细分->几何着色器->光栅化->提前深度测试->片元着色器->透明度测试->模板测试->深度测试->混合
没有通过Early-Z的片元会被丢弃,不进入片元着色器进行计算
在提前阶段的位置也可以添加模板测试

2.1.Early-Z失效的情况

  1. 开启Alpha Test或clip/discard等手动丢弃片元操作(但是深度信息还在)
  2. 手动修改GPU插值得到的深度(原因同上)
  3. 开启Alpha Blend(深度写入关闭ZWrite Off)
  4. 关闭深度测试Depth Test

2.2.Early-Z使用条件

当渲染顺序为如图所示时,每次提前深度测试时都抛弃了上一次计算得到的片元,保留了当前的计算结果。这样的渲染顺序不会有优化结果
反之,顺序颠倒后则优化效果最大

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值