cameraProjectionMatrixInverse
cameraProjectionMatrixInverse
提供相机投影矩阵的逆矩阵,用于将屏幕上的二维点(结合深度)反向变换回三维视图空间坐标,是高级后期处理特效的基石。
核心优势
自动化与高性能。它能自动提供由相机在内部高效缓存好的逆矩阵,避免了在 JS 中进行昂贵的重复计算,并能无缝适应单摄像机、分屏和 VR 等多种渲染环境。
常见用途
从深度纹理和 UV 坐标重建像素的完整世界坐标。
在屏幕空间环境光遮蔽(SSAO)中,比较邻近像素的三维空间关系。
在屏幕空间反射(SSR)中,将屏幕空间的步进射线转换到世界坐标进行深度测试。
为体积光或体积雾计算从相机出发穿过每个像素的视线方向。
在 GPU 中实现鼠标拾取,通过将鼠标坐标反向投射成一条射线。
如何调整
该节点无法被直接调整。它的值与 cameraProjectionMatrix 联动,由 JavaScript 中当前活动相机的属性控制。修改相机的 `.fov` 等属性并调用 `camera.updateProjectionMatrix()` 后,该节点的值会自动更新。
代码示例
1
2// 从标准化设备坐标 (NDC) 重建视图空间位置
3const viewPosition = ndcPosition.mul( cameraProjectionMatrixInverse );
4