为什么Aplha test会使得Early-z失效?
如图1、假如开启了EarlyZ,但是没有开启AlphatTst,那么执行片段着色器的时候,B中被A所遮盖的那片粉红色区域就不会执行片段着色器了。但是,如果同时开启了Early-Z和AlphaTest,如果A的alphatest不通过,则把A丢弃,不写入深度值,但是因为已经执行了EarlyZ,B被A遮盖的那片部分不会执行片段着色器,所以本来这时候正确的显示效果应该是只显示B,但是现在A和B都没有了…2、所以如果开启了Alphatest,就会关闭Early-z,A如果Alphatest通过,就会在深度缓.




