2012-06-29 4 views
1

WebGL 용 glMatrix로 축척 변환을 시도하고 있습니다.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.scale(mvMatrix, [2, 2, 2]); 
mat4.translate(mvMatrix, [1, 1, 1]); 
mat4.rotate(mvMatrix, degToRad(zAngle), [0, 0, 1]); 

는 스케일링으로 항상 발생합니다 마지막 변형 명령?

덕분에, 에버 튼은

답변

4

는 OpenGL을에서 "스태킹"변환에 대해 이해하는 this 답변을 참조하십시오. 물론 행렬 곱셈은 교환 할 수 없으므로 순서에 따라 다른 결과를 얻을 수 있습니다.