Unity3D教程宝典之Shader篇:第十一讲剔除及深度测试

Culling阴影面剔除

Culling阴影面剔除是一种优化技术。所有的多边形都有正反两面,而你永远只能看见其中一面,不信的话拿张纸板或者一面镜子看看你能不能同时看到两面【风宇冲】Unity3D教程宝典之Shader篇:第十一讲剔除及深度测试。通常多边形面向屏幕里面的背面,我们看不见,所以会将该面剔除。
Cull Off 关闭阴影面剔除
Cull Back 剔除背面
Cull Front 剔除正面



Depth Testing深度测试

Depth Testing:深度测试,也叫深度缓冲。只有最靠近观察者的物体会被绘制。深度即Z,该值越小表示离观察者越近,该值越大表示离观察者越远。
 
Shader里默认有如下代码
  1. ZWrite On
  2. ZTest LEqual
意思即使Shader里没有写任何关于Depth Testing的代码,Shader也会执行深度测试。
 
ZWrite:是否此物体的像素深度会被记录(默认记录),
ZWrite On  深度记录(默认On)
ZWrite Off  不记录此深度,通常用于半透明物体,
 
ZTest:默认是 LEqual。 即当深度小于或者等于 深度最小值时,渲染物体,即渲染最近的物体。
posted @ 2015-03-11 10:45  zhangdongli  Views(503)  Comments(0Edit  收藏  举报