Тема: GLUT. Своя MODELVIEW матриця для кожного об'єкту.
Привітульки-тульки-тульки. 
Як я розумію матрицю MODELVIEW:
Коли в сцені з'являється об'єкт, то він стоїть в нульових координатах
Для того, аби зрушити його кудись, ми завантажуємо матрицю виду, як в картинці під спойлером,
де замість x y z ставимо компоненти потрібної позиції об'єкту, та множимо цю матрицю на позицію кожного вертексу об'єктуУ кожного об'єкту є своя матриця MODELVIEW, адже ми хочемо ставити різні об'єкти в різних місцях
Питаннячко:
Як в GLUT зробити свою матрицю для кожного об'єкту?
Ось код функції, котра малює об'єкти
void display(void) {
    glClear(GL_COLOR_BUFFER_BIT); 
    glColor3f(1.0, 1.0, 1.0); 
    glMatrixMode(GL_MODELVIEW);//кажемо, що зараз працюємо з MODELVIEW
    //Очистити матрицю 
    glLoadIdentity();
    //Видова трансформація (камера) 
    gluLookAt(0.0,0.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0); 
    //Модельна трансформація 
    glRotated(angle, 0, 1, 0); // змінюємо кут об'єкту
    glRotated(90, 1, 0, 0);
    glScaled(scale, scale, scale); // масштабуємо
    glutWireSphere(1, 15, 15); // малюємо сферу
    glutWireCube(2); // малюємо куб
    glutSwapBuffers();
    glFinish();
} Як ви вже зрозуміли, куб та сфера мають однакові матриці. Тобто вони стоять в одній позиції та під одним кутом. 
Як зробити, аби в куба була своя матриця?
