3d glMatrix scale转换是否需要WebGL下的特定顺序?
我正在尝试使用glMatrix对WebGL进行缩放变换 当我使用以下顺序时,缩放变换可以很好地工作:3d glMatrix scale转换是否需要WebGL下的特定顺序?,3d,webgl,3d,Webgl,我正在尝试使用glMatrix对WebGL进行缩放变换 当我使用以下顺序时,缩放变换可以很好地工作: mat4.identity(mvMatrix); mat4.translate(mvMatrix, [1, 1, 1]); mat4.rotate(mvMatrix, degToRad(zAngle), [0, 0, 1]); mat4.scale(mvMatrix, [2, 2, 2]); 但首先执行缩放变换时,不会重新缩放对象: mat4.identity(mvMatrix); mat4.
mat4.identity(mvMatrix);
mat4.translate(mvMatrix, [1, 1, 1]);
mat4.rotate(mvMatrix, degToRad(zAngle), [0, 0, 1]);
mat4.scale(mvMatrix, [2, 2, 2]);
但首先执行缩放变换时,不会重新缩放对象:
mat4.identity(mvMatrix);
mat4.scale(mvMatrix, [2, 2, 2]);
mat4.translate(mvMatrix, [1, 1, 1]);
mat4.rotate(mvMatrix, degToRad(zAngle), [0, 0, 1]);
缩放必须始终作为最后一个转换命令进行吗
谢谢,
Everton请参阅答案,了解OpenGL中的“堆叠”转换。当然,矩阵乘法不是可交换的,因此您将根据顺序得到不同的结果。请参阅答案,了解OpenGL中的“叠加”变换。当然,矩阵乘法不是可交换的,所以你会根据顺序得到不同的结果