Webgl实现PCF软阴影并移植到Cesium

承接上文的需求 MSAA效果不是很好

想到软阴影技术 要实现的效果和我的目标类似

尝试一下

先简单介绍一下PCF

硬阴影即只是简单的根据深度纹理在片元着色器进行深度判断

对光源看不到 主相机却能看到的区域判断为阴影区域

这样可以实现阴影效果 但受限于深度纹理的分辨率 通常效果上会有很多锯齿

PCF 就是一种简单的实现软阴影的方法

和卷积有点类似 就是以目标像素点为中心 划分一定邻域 判断邻域内位于阴影区域的像素的比例

按照这个比例来设定阴影系数 以实现一定的平滑 过渡效果

下图是使用了PCF 的效果

可以看到有效的减少了锯齿

即使主相机距离较远也能保持较好的效果

下图阴影的锯齿明显要少许多 可以说PCF是最简单的软阴影实现方式了 

下面上代码 参考了文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值