auxReshapeFunc(resize);
auxIdleFunc(draw);
glCullFace(GL_BACK);
auxMainLoop(none);
return 0;
}
Bây giờ ta sẽ tìm cách để vẽ hai hình lập phương mà không mất công vẽ lại
từng mặt của hình lập phương mới nữa. Để làm được điều này bạn dùng
hàm glTranslated(), hàm này có 3 thông số, nó có nhiệm vụ chuyển ta đến
vị trí mới để vẽ(qua ba thông số của nó).Thực ra nó nhân ma trận hiện tại
với một ma trận khác để chuyển toạ độ cho chúng ta, vì thế mà chúng ta sẽ
phải dùng 2 lần các hàm glPushMatrix() và glPopMatrix().Hãy nhớ là bao
nhiêu lần gọi hàm glPushMatrix() thì cũng phải từng đấy lần gọi hàm
glPopmatrix().Dưới đây là mã nguồn:
/*filename matrix2.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},