Вы должны думать о преобразованиях, происходящих в стеке. Другими словами, последнее указанное вами преобразование происходит первым. Таким образом,
glTranslatef(1,2,3);
glScalef(10,10,10);
glRotatef(45,1,0,0);
drawObject();
сначала повернет на 45 градусов вокруг оси x, затем масштабирует объект до (10,10,10), а затем переводит в (1,2,3). Однако вы также должны помнить, что любое применяемое преобразование влияет на преобразования в дальнейшем. Если мы изменим порядок вышеупомянутых преобразований, вращение будет вращаться вокруг другой точки.