What is the difference between doing these two operations? Don't the first transform the vector from model space to view space? Then what does the second operation do?
gl_ModelViewMatrix * vec4(vector, 0.0)
gl_ModelViewMatrixTranspose * vec4(vector, 0.0)