gluLookAt(3.0,4.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0);
}
Chú ý là hai hàm cuối trong hàm trên đã được chuyển từ hàm draw()
sang.Nếu thiết đặt ma trân như trên thì khi hàm glRotated() làm thay đổi vị
trí của vật sẽ làm cho window của chúng ta trở nên không bình thường.Vì
vậy trước khi dùng hàm glRotated() thì chúng ta phải lưu ma trận vào đã
rồi khì thực hiện xong hàm này ta lại trả lại ma trận thì sẽ bình thương. Để
làm việc này chúng ta sử dụng 2 hàm glPushMatrix() và glPopMatrix().Mã
nguồn được trình bày dưới đây.
/*filename matrix1.cpp*/
#ifdef unix
#include <GL/gl.h>
#include "aux.h"
#define CALLBACK
#else
#include<windows.h>
#include<GL/gl.h>
#include<GL/glaux.h>
#endif
#include<GL/glu.h>
GLdouble vertex[][3]={
{0.0,0.0,0.0},
{1.0,0.0,0.0},
{1.0,1.0,0.0},
{0.0,1.0,0.0},
{0.0,0.0,1.0},
{1.0,0.0,1.0},
{1.0,1.0,1.0},
{0.0,1.0,1.0}
};
int face[][4]={
{0,1,2,3},