OpenGL/GLUT+VS2008配置

    OpenGL编程一般需要OpenGL的开发包和辅助工具。对于前者,windows现已提供了相应的支持。32系统中,这些相关动态链接库被安放在系统文件夹下,C:\Windows\System32目录;静态链接库放在C:\Program Files\Microsoft SDKs的子目录中。由于windows的环境变量已经添加,我们在Visual Studio中可以直接使用OpenGL的相关函数了。

    而对于后者,一些开源的工具包可以帮助我们进行图形开发,比如在windows中使用窗口体系来显示运行结果。其中,GLUT(OpenGL Utility Tookit)是最早的辅助开发工具之一。可以从OpenGL官网上下载各种版本的辅助工具,我们依照OpenGL红包书,配置了一个较早的GLUT版本

http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

    解压后按照如下的步骤依次配置:

1)将glut.h头文件放在visual studio的C++包含目录中,比如我的是G:\软件\VS2008\VC\include。在这个目录中,我们可以看到我们熟悉的iostream、cstdlib等,因此我们可以直接在项目代码中包含glut.h头文件。

2)将glut.libglut32.lib放在静态链接库目录中,与1)同级的lib目录。同理,这样就我们可以将这两个库添加到项目中了。

3)将glut.dllglut32.dll放在系统目录中C:\Windows\System32,原理一开始我们介绍过了。

    可以从网上copy一份代码来检验是否配置成功,下面代码的运行结果是在窗口中显示一个三角形。

#include<gl/glut.h>

void renderScene(void)
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	glLoadIdentity();
	glBegin(GL_TRIANGLES);
	glVertex3f(-0.5,-0.5,0.0);
	glVertex3f(0.5,0.0,0.0);
	glVertex3f(0.0,0.5,0.0);
	glEnd();
	glutSwapBuffers();
}

int main(int argc, char* argv[])
{
	glutInit(&argc, (char**) argv);
	glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
	glutInitWindowPosition(100,100);
	glutInitWindowSize(320,320);
	glutCreateWindow("Hello OpenGL");
	glutDisplayFunc(renderScene);
	glutMainLoop();//enters the GLUT event processing loop.

	return 0;
}
这里要说明的是,头文件只需要包含glut.h即可,因为它会自动包含glu.h和gl.h。如果不使用glut.h,则要包含这两个头文件。

    最后说说配置中的一个意外。由于之前配置CEGUI的时候给VS2008工程配置了相关目录,其中就包含了freeglut.dll,它与这里的glut.dll有冲突,因此在第一次运行的时候出现了系统缺少freeglut.dll的bug。以前在配置OGRE的时候就出现了许多类似的问题,这里可以猜想如果运行时提醒出现一些链接库的缺失,特别是当这些库不是当前配置需要的时候,一个可能的原因就是由于之前有冲突的配置,编译器错误地找到了它,而没有按照我们的配置来运行。

参考资料 《OpenGL编程指南》

博客 http://blog.csdn.net/genganpeng/article/details/6882048

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值