mat4
mat4
从各种输入构造或转换出一个 4x4 矩阵(mat4),用于在三维空间中对物体进行平移、旋转和缩放等完整变换,是渲染管线的核心。
核心优势
它是唯一能将平移、旋转和缩放封装在单一操作中的节点。它使得渲染管线的核心矩阵(如 `modelMatrix`, `projectionMatrix`)能在节点图中被直观地连接和使用,从而将复杂的顶点空间变换过程可视化。
常见用途
执行最核心的顶点空间变换(模型 -> 视图 -> 裁剪空间)
在骨骼动画中代表单个骨骼的变换矩阵
在实例化渲染中为每个实例提供独立的变换矩阵
在阴影贴图技术中,代表光源的视图投影矩阵
如何调整
调整构成矩阵的输入会直接改变三维物体的几何状态。例如,动态改变其平移分量会使物体在空间中移动;改变旋转分量会使物体旋转;改变缩放分量则会使物体“呼吸”般地变大或变小。
代码示例
1// 顶点变换的核心流程
2// 1. 将局部顶点位置转换为齐次坐标
3const position4 = vec4( positionLocal, 1.0 );
4
5// 2. 依次应用模型视图矩阵和投影矩阵
6const mvpPosition = projectionMatrix.mul( modelViewMatrix.mul( position4 ) );