getNormalFromDepth
getNormalFromDepth
仅根据深度图(Depth Map)和摄像机参数,在后处理阶段重新构建出场景的表面法线,为屏幕空间特效(如SSAO、SSR)提供必要的几何信息。
核心优势
封装了高质量且对边缘鲁棒的法线重建算法,使开发者无需手动编写复杂的着色器代码或使用多目标渲染(MRT),即可在后处理阶段轻松获取关键的法线信息。
常见用途
屏幕空间环境光遮蔽 (SSAO)
屏幕空间反射 (SSR)
后处理光照(如延迟光照)
调试与可视化法线图
如何调整
该节点没有可调参数。其输出质量完全依赖于输入的准确性:必须提供与当前渲染像素对应的UV坐标、正确的场景深度图以及与生成该深度图的摄像机完全匹配的逆投影矩阵。
代码示例
1// 从深度图、UV和摄像机逆投影矩阵重建法线
2const normal = getNormalFromDepth( [ uv(), depthTexture, cameraProjectionMatrixInverse ] );