1、基本概念
1.1、基本概念
在实时渲染中实现透明效果,需要在渲染模型时控制它的透明通道(Alpha Channel)。
透明度为1代表该像素是完全不透明的;0代表完全透明。
Unity中可以使用两种方式得到透明效果: 透明度测试(alpha test,无法得到真正的透明效果)、 透明度混合(alpha blending)。
对于不透明物体, 深度缓冲(depth buffer)就能正确判断物体的遮挡关系。
- 透明度测试:一个片元的透明度达不到某个标准,那么就会被舍弃;否则就按不透明物体进行处理。因此,透明度测试不需要关闭深度写入。
- 透明度混合:使用当前片元作为混合因子,与已经存储在颜色缓冲区中的颜色进行混合。透明度混合需要关闭深度写入(即离镜头更近的片元不会覆盖原有的同一位置的片元)。因此我们需要小心物体的渲染顺序。但是仍然可以进行深度测试。