PCFShadowFilter
PCFShadowFilter
一个实现了“百分比接近过滤”(PCF)算法的函数节点,用于平滑硬朗、带锯齿的阴影边缘,从而创造出更真实、更柔和的软阴影效果。
核心优势
极大地简化了高质量软阴影的创建过程。它将复杂的底层 GLSL 逻辑(如多点采样、坐标转换和结果平均)完全封装,同时利用 GPU 硬件加速功能,提供了优于手动实现的性能。
常见用途
在大多数实时 3D 应用中实现软阴影的标准方法。
游戏中的角色、物体和环境的写实渲染。
建筑和产品可视化,以营造自然、高级的光影质感。
任何需要柔和、美观的阴影边缘以替代硬朗锯齿边缘的场景。
如何调整
该节点本身没有可调参数。阴影的柔和度主要通过调整光源的 `light.shadow.radius` 属性来控制,值越大,阴影边缘越模糊、越柔和。阴影的整体清晰度和细节则由 `light.shadow.mapSize`(阴影贴图分辨率)决定。
代码示例
1// shadowMap 是一个包含了所有阴影所需信息的 ShadowMapNode 实例
2const shadowFactor = PCFShadowFilter( shadowMap );
3
4// 将计算出的软阴影因子应用于光照
5diffuseColor.rgb *= shadowFactor;