samplerComparison
samplerComparison
创建一个节点,用于对深度纹理(阴影贴图)进行硬件加速的采样和深度比较,是实现实时阴影的核心。
核心优势
利用 GPU 硬件特性(如 PCF)高效执行深度比较,极大地简化了软阴影的实现,并提供了远超手动采样比较的性能。
常见用途
平行光阴影
聚光灯阴影
点光源阴影
如何调整
无法直接调整此节点。阴影效果通过调整光源的 `shadow` 属性(如 `light.shadow.radius` 来控制阴影柔和度)或在节点图中处理其返回的阴影因子(如使用 `smoothstep` 函数来优化阴影边缘的过渡)来控制。
代码示例
1// 使用高阶的 shadowmap 节点获取阴影因子 (内部使用 samplerComparison)
2const shadowFactor = shadowmap( myLight );
3
4// 根据阴影因子混合基础颜色和阴影颜色
5material.colorNode = mix( baseColor, shadowColor, shadowFactor.oneMinus() );