文章目录
Lesson1:环境搭建
OpenGL开发库文件 提取码:orx1
VC++6.0安装包 提取码:944c
- 将开发库中的.h文件拷贝到Visual C++ 6.0的\Include\GL目录中,若无GL目录,自己建一个
- 将.lib文件拷贝到Visual C++ 6.0的\lib目录中
- 将.dll文件拷贝到操作系统的system32目录中
- VC++6.0中配置动态链接库方法:工程(Project)->设置(Setting)->链接(Link)选项->在“Object/library modules:”的尾部添加以下静态库
GLAUX.lib GLU32.lib glu.lib GLUT32.lib glut.lib OPENGL32.lib opengl.lib
Lesson2:绘制三角形,四边形,多边形
glLoadIdentity();
:重置当前模型的观察矩阵, 将当前点移动到屏幕中心glTranslatef(x,y,z);
:沿着x,y,z轴移动glVertex3f(x,y,z);
:绘制顶点- 顺时针绘制的是对象的后表面,逆时针绘制的是对象的正面
- X轴:左边为负,右边为正
- Y轴:下边为负,上边为正
- Z轴:里边为负,外边为正
glBegin()...和glEnd();
:每n个点自成一组
int DrawGLScene(GLvoid) // 绘制代码函数
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕和深度缓存
glLoadIdentity(); // 将当前点移动到屏幕中心
glTranslatef(0.5f,-1.0f,-6.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();
glTranslatef(0.0f,1.5f,0.0f);
glBegin(GL_TRIANGLES); //绘制三角形(上,左,右)
glVertex3f(0.0f,1.0f,0.0f);
glVertex3f(-1.0f,0.0f,0.0f);
glVertex3f(1.0f,0.0f,0.0f);
glEnd();
glTranslatef(-2.5f,0.0f,0.0f);
glBegin(GL_POLYGON); //绘制多边形(逆时针)
glVertex3f(0.0f,1.0f,0.0f);
glVertex3f(-1.0f,0.0f,0.0f);
glVertex3f(-0.70f,-1.0f,0.0f);
glVertex3f(0.7f,-1.0f,0.0f);
glVertex3f(1.0f,0.0f,0.0f);
glEnd();
return TRUE;
}
Lesson3:光滑着色与平面着色
glColor3f(red,green,blue