gl.glLoadIdentity(); // Reset the model-view matrix
gl.glTranslatef(0, 0, -6.0f);
gl.glRotatef(mAngleX, 0, 1, 0);
gl.glRotatef(mAngleY, (float) Math.cos(mAngleX*(Math.PI/180)), 0, (float) Math.sin(mAngleX*(Math.PI/180)));

onDrawFrame에서 큐브를 회전시키는 구문입니다.

첫번째 glrotatef 실행 후 x, z축이 이동하는것을 감안하여 두 번째 rotatef문을 작성하였는데요
원래 glLoadIdentity()가 실행되면 다시 축이 초기화되고, 첫 번째 glrotatef문은 초기 y축에 대해 회전해야 한다고 생각하는데
y축이 큐브를 따라 이동한 뒤, 그 이동한 축에 대해 회전하는 현상이 발생합니다.
제가 glrotatef에 대해 잘못 이해하고있는것인가요? 초기 x, y축에 대해 큐브를 회전시키려면 어떻게 해야할까요..