Are there multiple valid definitions for what translate, rotate and scale do to the 4x4 matrix?
I bring up this question, because I have a simple webgl program that draws a square and does a few translate, rotate, and scale transformations. When I originally wrote the program I was using glMatrix v0.9.5. I upgraded the glMatrix to v2.2 and now the square is in a different position and rotation.
I'm fairly certain I correctly upgraded the program to use the new version, since the program was so small to begin with.
Regardless of what is happening to my program, I'm very interested to know if translate, rotate, and scale have a single universal definition or if different graphics engines / matrix libraries can have different definitions for what the transforms do.
Further details:
No transformations (origin is at the top left corner)
The square program with the following transformations:
translate x: 250, y: 250, z: 0
rotate around Z axis angle: -90
Finally the square program with the following transformations:
translate x: 250, y: 250, z: 0
rotate around Z axis angle: -90
translate x: 150, y: 0, z: 0