承接上文的需求 MSAA效果不是很好
想到软阴影技术 要实现的效果和我的目标类似
尝试一下
先简单介绍一下PCF
硬阴影即只是简单的根据深度纹理在片元着色器进行深度判断
对光源看不到 主相机却能看到的区域判断为阴影区域
这样可以实现阴影效果 但受限于深度纹理的分辨率 通常效果上会有很多锯齿
PCF 就是一种简单的实现软阴影的方法
和卷积有点类似 就是以目标像素点为中心 划分一定邻域 判断邻域内位于阴影区域的像素的比例
按照这个比例来设定阴影系数 以实现一定的平滑 过渡效果
下图是使用了PCF 的效果
可以看到有效的减少了锯齿
即使主相机距离较远也能保持较好的效果
下图阴影的锯齿明显要少许多 可以说PCF是最简单的软阴影实现方式了
下面上代码 参考了文章