开发环境:freeglut,vs2013,win10
下载freeglut
书中使用的是glut,但是gult没更新还是怎么的,所以使用开源版freeglut替换书中的glut.下载freeglut.
编译生成freeglut动态库
freegult在windows下可以使用cmake构建.下载cmake,有GUI界面.
- 点browse source导入freeglut解压目录:E:/opengl/freeglut(就是CMakeLists.txt所在目录)
- 点browse build 选择项目生成目录
- configure,配置好后中间会以红色显示新增的项目
- generate
用vs打开第2部目录中的freeglut.sln, F7生成解决方案,不报错就OK了.
生成的动态库文件有两个:
- freeglut-build\bin\Debug\freeglutd.dll
- freeglut-build\lib\Debug\freeglutd.lib
可以专门建个opengl库目录来放这两个文件,还有freeglut加压目录下的include目录,后面只需要这些文件.
第一个opengl项目-画线段
vs2013新建空项目lineSegment, 右键项目->属性:
- 找到包含目录,添加freeglut的inlcude目录
- 找到库目录,添加freeglutd.lib目录(还要添加freeglutd.lib这个文件本身的,freeglut通过代码已经添加了)
- 把freeglutd.dll复制到Visual Studio 2013\Projects\lineSegment\Debug
- 项目新建文件main.cpp
#include "GL/freeglut.h"
void init()
{
glClearColor(1.0, 1.0, 1.0, 0.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0, 200.0, 0.0, 150.0);
}
void lineSegment()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0, 0.4, 0.2);
glBegin(GL_LINES);
glVertex2i(180, 15);
glVertex2i(10, 145);
glEnd();
glFlush();
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 300);
glutCreateWindow("lien segment");
init();
glutDisplayFunc(lineSegment);
glutMainLoop();
}
按F5编译,调试运行