这个节在上一节的基础上,画两个多边形:三角形和四边形。
在前一节基础上,修改display()函数,如下所示:
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //
glLoadIdentity();
glTranslatef(-1.5f, 0.0f, -6.0f);// 三角形和四边形为了看起来小一点,在Z轴上做了6个单位的平移
glBegin(GL_TRIANGLES); //开始画三角形
glVertex3f( 0.0f, 1.0f, 0.0f);//顶点
glVertex3f(-1.0f, -1.0f, 0.0f);//左下角顶点
glVertex3f( 1.0f, -1.0f, 0.0f);//右下角顶点
glEnd();//结束画三角形
//glTranslatef(3.0f, 0.0f, 0.0f);
// or
glLoadIdentity();//初始化变化矩阵,移到坐标轴中心
glTranslatef(1.5f, 0.0f, -6.0f);//向X轴正方向移动1.5个单位
glBegin(GL_QUADS);//开始画四边形
glVertex3f(-1.0f, 1.0f, 0.0f);//左上顶点
glVertex3f(-1.0f, -1.0f, 0.0f);//左下顶点
glVertex3f( 1.0f, -1.0f, 0.0f);//右下顶点
glVertex3f( 1.0f, 1.0f, 0.0f);//右上顶点
glEnd();//结束画四边形
glFlush();
}
详细代码参见这里。