GLSL 内置函数
matrixCompMult()
矩阵逐元素相乘,区别于代数矩阵乘法。
示例版本:GLSL ES 1.00 / WebGL 1示例阶段:片段
函数签名
mat matrixCompMult(mat x, mat y)参数
- x
- 输入值或左侧向量
- y
- 右侧向量或比较值
返回值
形状相同的矩阵,每个元素为 x、y 对应位置元素的乘积。
在线示例
修改右侧代码,左侧预览会实时更新。
matrixCompMult 做什么
矩阵逐元素相乘,区别于代数矩阵乘法。
看懂预览
第二个矩阵中的零会消掉第一个矩阵的 0.2 元素。把 mat2(1.0,1.0,0.0,1.0) 中的零改成 1.0,网格便恢复这部分错切。
核心调用
matrixCompMult(mat2(1.0,0.5,0.2,1.0),mat2(1.0,1.0,0.0,1.0))*vec2(x,y);
两个矩阵尺寸必须相同,星号运算符另有矩阵乘法含义。
修改实验
把第二个矩阵换成 mat2(1.0,0.0,0.0,1.0)。逐元素相乘会消掉两个非对角元素,网格因此恢复为横平竖直。