深度测试 ztest

zbuffer储存的只是比较值,写入与否决定后续的物体不决定当前的物体(ps后续可以覆盖以前的)。

最后决定显示的是cbuffer的值,ztest通过才能写入cbuffer和zbuffer

以下主要是写给自己理解:写入-修改zbuffer值,渲染-修改cbuffer值

p1:顺序蓝-绿-红。ztest通过条件是<=,背景的zbuffer是无穷大,蓝色的值比背景小,写入zbuffer且渲染;绿色的重叠部分zbuffer比蓝色的大,不通过不写入不渲染;红色同理

p2:顺序蓝-绿-红。蓝色zwrite关闭,蓝色写入cbuffer蓝色部分的zbuffer值不变(即背景的无穷大),再渲染绿色。此时绿色zbuffer与无穷大比较是小于(即通过),绿色的全部写入和渲染

p3:顺序蓝-绿-红。绿色ztest always,即蓝色写入后,渲染绿色的时候,绿色不比较zbuffer值,而是直接把其全部写入zbuffer和cbuffer,就把蓝色重叠部分覆盖了

p4:顺序蓝-绿-红。绿色和红色的ztest always。即蓝色渲染完后,绿色不比较zbuffer值,全部写入全部渲染;绿色渲染完后,红色不比较zbuffer值,全部写入全部渲染。

p5:在p5的always基础上,绿色队列加1,即顺序变为:蓝-红-绿

p6:顺序蓝-绿-红。蓝色写入且渲染后,轮到绿色,绿色通过条件是大于等于,他与蓝色重叠部分相比zbuffer值大,与背景比zbuffer小,所以只显示与写入zbuffer蓝色重叠部分。再到红色渲染,小于等于才通过。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值