如果你还不知道如何在three.js中添加后期渲染通道,请先看一下官方的一个最简单的demo : github. 正如demo中所示的那样,我们的扫光效果,也是一个自定义的ShaderPass. 所以,我们得写一个shader来实现想要的效果,这里介绍一下实现的思路. 1.在自定义通道上,先获取场景原本的uv,然后原样输出: 2.在fs里,降低gl_FragColor的亮度(乘以小于1.0的数,这里取0.3),这样,画面立马暗了下来: 3.画一条直线 y = -x:在这条直线上的部分颜色亮度为1