mat2
mat2
从各种输入(如向量、单个浮点数或其他矩阵)构造或转换出一个 2x2 矩阵(mat2),是执行二维变换的基础。
核心优势
极大地简化了在节点网络中创建和使用 2x2 变换矩阵的过程。它将底层的 GLSL 矩阵构造语法抽象化,使得对 UV 坐标等二维向量进行旋转和缩放等操作变得直观且不易出错。
常见用途
构建二维旋转矩阵以旋转纹理坐标(UVs)
通过一个浮点数输入创建均匀缩放矩阵
将一个 vec4 的四个分量重新打包成一个 2x2 矩阵
定义一个自定义的二维坐标系用于程序化图案生成
如何调整
该节点本身无参数可调,其视觉效果完全由其输入决定。给它一个静态的数值输入,会产生一个固定的几何变换(如将纹理旋转一个固定角度)。将其输入连接到一个动态变化的值(如 `timer` 节点),则会产生连续的动画效果,例如让纹理持续平滑地旋转或缩放。
代码示例
1// 从一个角度(angle)构建一个 2x2 旋转矩阵
2const rotationMatrix = mat2(
3 cos( angle ), sin( angle ),
4 -sin( angle ), cos( angle )
5);
6
7// 将该矩阵应用于一个二维向量(如 UV 坐标)
8const rotatedUV = rotationMatrix.mul( uv() );