旋转和缩放是一样的,都是变化矩阵,只是将缩放矩阵替换成旋转矩阵
修改矩阵如下:
// 创建一个单位矩阵
const rotationMatrix = mat4.create();
// 按照Z轴顺时针旋转30°并返回
mat4.fromRotation(rotationMatrix, -(Math.PI / 180) * 30, [0, 0, 1]);
gl.uniformMatrix4fv(matrixUniformLocation, false, rotationMatrix);
fromRotation是将给定的矩阵,按照给定的轴旋转后返回。
[0,0,1]三维向量表示X,Y,Z三个分量,这里表示按照Z轴旋转。
旋转前:
旋转后: