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

Culling阴影面剔除

Culling阴影面剔除是一种优化技术。所有的多边形都有正反两面,而你永远只能看见其中一面,不信的话拿张纸板或者一面镜子看看你能不能同时看到两面技术分享。通常多边形面向屏幕里面的背面,我们看不见,所以会将该面剔除。
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。 即当深度小于或者等于 深度最小值时,渲染物体,即渲染最近的物体。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。