cameraProjectionMatrix
cameraProjectionMatrix
提供相机的投影矩阵,它负责将三维顶点从视图空间变换到裁剪空间,从而产生透视效果。
核心优势
极致的适应性。它能为单摄像机、多摄像机(分屏)和 VR(MultiView)等不同渲染场景自动提供正确的投影矩阵,让一套着色器代码无需修改即可在所有环境下工作。
常见用途
标准的顶点变换,将顶点从视图空间投影到裁剪空间,产生透视效果。
根据屏幕坐标和深度值,反向重建三维视图空间坐标,用于后期处理特效。
抵消透视效果,使粒子等物体在屏幕上看起来具有恒定的大小。
在生成阴影贴图时,充当光源的投影矩阵。
创建如鱼眼镜头等自定义的、非真实的扭曲透视效果。
如何调整
该节点无法被直接调整。它的值由 JavaScript 中当前活动相机的属性控制。要改变投影效果,请修改相机的 `.fov`、`.aspect`、`.near` 或 `.far` 等属性,然后调用 `camera.updateProjectionMatrix()`。
代码示例
1
2// 将一个顶点从视图空间变换到裁剪空间
3const clipPosition = viewPosition.mul( cameraProjectionMatrix );
4