Shader之三大测试——深度测试(一)

 光看是不行,需要自己写运行看效果,那样记得住。因人而异

 

需要理解深度、RGBA,深度缓存,深度测试

像素,不止携带有RGBA信息,还有深度值,模板值等。

深度

由于渲染顺序的问题,远处的物体会被近处的物体,所遮挡。  参考画家算法

物体远近,通过系统自动计算。

远近不是物体直接到摄像机的距离,而是做摄像机朝向 垂线的距离

 

那换个角度,摄像机旋转一下,cube坐标没有变动,深度值,只是参考

当你看到这个肯定不陌生

控制物体深度,与Zwrite  、ZText  关键字有关,Cull控制物体渲染面   后几个文章写。

如果要绘制半透明效果,关闭深度缓冲off

 

Zwrite

  参数 On/Off    开启/关闭深度写入

ZText 

 Greater  GEqual  Equal Less LEqual  NotEqual  Always  Never分别对应

>                 >=       ==      <         <=        !=             总是   从不

像素对比GBuffer中的像素,满足条件则替换。否则舍弃

,物体的像素渲染并不是直接就到屏幕上,需要计算,符合条件则通过测试,最终到屏幕上。

 

总结,只有ZWrite打开,ZText通过时,才会写入深度、颜色缓存,

只有ztext通过,zwrite关闭,只会写入颜色缓存

其他情况都是不写入

这是工程源码,我会放在Git上 

 https://github.com/Timor666/ProjectCode

自己多做测试。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值