本课主要绘制了一个三角形和一个正方形。
主要是用来了解OpenGL的坐标空间,以及绘图的一些概念。
主要代码:
int DrawGLScene(GLvoid) // 从这里开始进行所有的绘制
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕和深度缓存
glLoadIdentity(); // 重置当前的模型观察矩阵
glTranslatef(-1.5f,0.0f,-6.0f);
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);
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();
return true; // 继续运行
}
1.glLoadIdentity() 将当前点移到了屏幕中心,X从左往右,Y从下往上,Z从内往外
2.glTranslatef()将沿着X,Y,Z轴移动。glTranslatef()进行移动的时候,不是相对于屏幕中心,而是相对于当前所在位置移动的。
3.绘制图形在 glBegin()和glEnd()之间。