Cull:剪裁
ZWrite:深度写入
ZTest:深度测试
Cull Back|Front|Off
Cull Back(默认): 把图片的背面剪裁,相当于背面不进行渲染
Cull Front:把图片的正面剪裁,相当于正面不进行渲染
Cull Off:关闭剔除,正反面都渲染
ZWrite On|Off
ZWrite On(默认): 深度写入开启
ZWrite Off:深度写入关闭
深度写入开启后决定片元的深度值是否写入深度缓冲。不建议关闭深度写入,除非有特殊需求,关闭深度写入会有很多意想不到的现象产生。
ZTest LEqual|GEqual|Equal|NotEqual|Less|Greater|Always
ZTest LEqual(默认): 深度小于等于当前缓存则通过
ZTest GEqual:深度大于等于当前缓存则通过
ZTest Equal:深度等于当前缓存则通过
ZTest NotEqual:深度不等于当前缓存则通过
ZTest Less:深度小于当前缓存则通过
ZTest Greater:深度大于当前缓存则通过
ZTest Always:不论如何都通过
ZTest Off :效果跟ZTest Always一样
这里的缓存可以理解成,相机视角此时所保存的某一点的深度值,离相机越近,深度值越大。
以ZTest Less 和 ZTest Greater举例
当物体A使用了ZTest Less,此时当A物体离相机近(在A的前面没有遮挡物)时,A物体被显示。
当物体A使用了ZTest Greater,此时当A物体离相机远(在A的前面存在遮挡物,不管遮挡物有多少)时,A物体被显示。