GLSL 内置函数
transpose()
交换矩阵行和列。
示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段
函数签名
mat transpose(mat m)参数
- m
- 签名中给出的输入量,类型和尺寸必须匹配
返回值
行列互换后的矩阵,结果的 [列][行] 元素等于 m 的 [行][列] 元素。
在线示例
修改右侧代码,左侧预览会实时更新。
transpose 做什么
交换矩阵行和列。
看懂预览
转置 mat2(1.0,0.6,0.0,1.0) 会把错切系数移到另一处非对角位置。把 0.6 改为 0.0,网格就会恢复方正排列。
核心调用
transpose(mat2(1.0,0.6,0.0,1.0))*vec2(x,y);
GLSL 矩阵构造器按列填写,转置后剪切方向改变。
修改实验
把 transpose(mat2(1.0,0.6,0.0,1.0)) 换成未经转置的原矩阵。网格会沿另一个坐标方向错切,显示行列互换的作用。