no, that’s not the same.

if you translate by direct modification of the translational part of the modelview, you will translate in a coordinate frame aligned with the eye-space.

instead, if you multiply the current modelview matrix by a translation matrix, you’ll get your translation operate into object-space.

this is the log of some lines of gl code:

glLoadIdentity();

modelview matrix xlt: 0.000000 0.000000 0.000000

glRotatef(45,1,1,0);

modelview matrix xlt: 0.000000 0.000000 0.000000

glTranslatef(100,200,300);

modelview matrix xlt: 264.644623 35.355347 262.132019

note that translation value of mv matrix is NOT what has been passed to glTranslate.