GLSL 内置函数
outerProduct()
用列向量和行向量生成外积矩阵。
示例版本:GLSL ES 3.00 / WebGL 2示例阶段:片段
函数签名
mat outerProduct(vec column, vec row)参数
- column
- 签名中给出的输入量,类型和尺寸必须匹配
- row
- 签名中给出的输入量,类型和尺寸必须匹配
返回值
矩阵元素 [列][行] 等于第一个向量的对应行分量乘第二个向量的对应列分量,尺寸由两向量长度决定。
在线示例
修改右侧代码,左侧预览会实时更新。
outerProduct 做什么
用列向量和行向量生成外积矩阵。
看懂预览
outerProduct(vec2(1.0,0.4),vec2(0.5,1.0)) 生成秩为一的变换,网格没有两条独立的变化轴。把第一个向量改为 vec2(1.0,0.0),q.y 的变化就会消失。
核心调用
outerProduct(vec2(1.0,0.4),vec2(0.5,1.0))*vec2(x,y);
这不是 cross,也不是逐分量相乘。
修改实验
把第二个向量从 vec2(0.5,1.0) 改成 vec2(1.0,0.0)。两个输出坐标都只依赖 x,画面中的条纹会变成竖向。