在第四篇文章中,我们进行了高斯模糊原理讲解和实际操作,接下来我们会重点讲渲染管线中的三大测试,第一篇文章我讲述了写这些文章的初衷,我们还是首先把渲染管线全部流程总体的概括一遍,以Unity为例。然后在看秦大的书,进行有价值的点的解析。因为秦大的书讲的比较底层,也就说讲的比我现在写的还原理还底层。 回到刚才的话题,三大测试的顺序:Alpha、模板测试、深度测试。当然,这里涉及一些计算公式,我在这里会做详细的讲解。
首先我们从Alpha测试开始。
Alpha测试:符合条件的Alpha像素显示出来,不符合的去掉。
在Shader1.0当中我们需要打开AlphaTest通道,然后跟上限制条件,但是在Shader2.0当中,我们可以对于纹理进行直接采样了,所以Alpha值是可以直接得到的。我们在Fragment函数当中可以直接得到,并且进行处理或者叫约束。如下shader代码:
对比我们可以发现变化