   Matrix Multiplication (Basic Question)
  I implemented my own function to multiply matrices but I'm wondering why I have to multiply in reverse order compared to GLSL to achieve the same result?   
  It's probably because different conventions are being used in your code than are being used in the GLSL code.Matrix 'majorness' may be an issue if you've got your indexing wrong (e.g. within your multiplication function or in the functions that build your matrix transforms). The other likely culprit is differing vector notation conventions (i.e. row vectors vs. column vectors).A good first step would probably be to make sure you know what matrix layout (row-major or column-major) and vector notation convention (row vectors or column vectors) are being used in your own code, and are being assumed by the GLSL code (so that's four things you need to check in total). If there's a mismatch anywhere, you'll need to adjust accordingly.Also, if you're not sure your multiplication code is right, you can post it here for us to take a look at (if you're using 1-d indexing, make sure to let us know whether your matrices are row-major or column-major).   ;  I would guess that you are using column vectors and the other code uses row vectors or vice-versa. This means that rotation matrices are either pre or post multiply.   