vs2010中配置OpenGL以及注意事项

时间:2021-08-06 05:11:40

下面将对VS2010中配置OpenGL进行简单介绍。


学习OpenGL前的准备工作
第一步,选择一个编译环境
现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。

我选择Visual Studio 2010和VC6++作为学习OpenGL的环境。
第二步,安装GLUT工具包
GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。
Windows环境下的GLUT下载地址:(大小约为150k)
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

无法从以上地址下载的话请使用下面的连接:

http://upload.programfan.com/upfile/200607311626279.zip

Windows环境下安装GLUT的步骤:
1、将下载的压缩包解开,将得到5个文件,分别是glut.h,glut.lib,glut32.lib,glut.dll,glut32.dll
2、将其中的glut.h放到C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl里面,VS2010会自动搜索这个路径。

3. 将glut.lib和glut32.lib复制到F:\vs2010\VC\lib下,根据VS2010的具体安装路径确定。

4. 将glut.dll和glut32.dll复制到C:\WINDOWS\system32下。

至此,环境已经配置好了。

 

下面来开发一个简单的c++程序,环境vs2010中的vc

1. 新建->项目->win32控制台应用程序。

2. 输入项目名:simpleGL,其他默认即可。

3. 输入源代码:

1.       #include "stdafx.h"   

2.       #include <gl/glut.h>   

3.       #include <stdio.h>   

4.       #include <time.h>   

5.         

6.       // 太阳、地球和月亮   

7.       // 假设每个月都是12天   

8.       // 一年12个月,共是360天   

9.       static int day = 200; // day的变化:从0到359   

10.      

11.    double CalFrequency()  

12.    {  

13.        static int count;  

14.        static double save;  

15.        static clock_t last, current;  

16.        double timegap;  

17.      

18.        ++count;  

19.        if( count <= 50 )  

20.            return save;  

21.        count = 0;  

22.        last = current;  

23.        current = clock();  

24.        timegap = (current-last)/(double)CLK_TCK;  

25.        save = 50.0/timegap;  

26.        return save;  

27.    }  

28.      

29.    void myDisplay(void)  

30.    {  

31.        double FPS = CalFrequency();  

32.        printf("FPS = %f\n", FPS);  

33.      

34.        glEnable(GL_DEPTH_TEST);  

35.        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);  

36.      

37.        glMatrixMode(GL_PROJECTION);  

38.        glLoadIdentity();  

39.        gluPerspective(75, 1, 1, 400000000);  

40.        glMatrixMode(GL_MODELVIEW);  

41.        glLoadIdentity();  

42.        gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1);  

43.      

44.        // 绘制红色的“太阳”   

45.        glColor3f(1.0f, 0.0f, 0.0f);  

46.        glutSolidSphere(69600000, 20, 20);  

47.        // 绘制蓝色的“地球”   

48.        glColor3f(0.0f, 0.0f, 1.0f);  

49.        glRotatef(day/360.0*360.0, 0.0f, 0.0f, -1.0f);  

50.        glTranslatef(150000000, 0.0f, 0.0f);  

51.        glutSolidSphere(15945000, 20, 20);  

52.        // 绘制黄色的“月亮”   

53.        glColor3f(1.0f, 1.0f, 0.0f);  

54.        glRotatef(day/30.0*360.0 - day/360.0*360.0, 0.0f, 0.0f, -1.0f);  

55.        glTranslatef(38000000, 0.0f, 0.0f);  

56.        glutSolidSphere(4345000, 20, 20);  

57.      

58.        glFlush();  

59.        glutSwapBuffers();  

60.    }  

61.      

62.    void myIdle(void)  

63.    {  

64.        ++day;  

65.        if( day >= 360 )  

66.            day = 0;  

67.        myDisplay();  

68.    }  

69.      

70.    int main(int argc, char *argv[])  

71.    {  

72.        glutInit(&argc, argv);  

73.        glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);  

74.        glutInitWindowPosition(100, 100);  

75.        glutInitWindowSize(400, 400);  

76.        glutCreateWindow("太阳,地球和月亮");  

77.        glutDisplayFunc(&myDisplay);  

78.        glutIdleFunc(&myIdle);  

79.        glutMainLoop();  

80.      

81.        return 0;  

82.    }   


4. 选择项目属性,选择C/C++->预处理器,在右侧的“预处理器定义”处,删除“_CONSOLE“,如图

 

vs2010中配置OpenGL以及注意事项

 

5. 在项目属性中,切换到“链接器”->系统,右侧窗口的子系统选择:窗口 (/SUBSYSTEM:WINDOWS)

 

vs2010中配置OpenGL以及注意事项

 

6. 在项目属性中,再切换到“链接器”->命令行,在“其他选项”中输入:/ENTRY:mainCRTStartup (可以去除程序运行时出现的dos窗口)

 

vs2010中配置OpenGL以及注意事项

 

编译运行,就能看到“太阳、地球和月亮的动态运行图”了!

 

 

vs2010中配置OpenGL以及注意事项  

手动卸载 Visual Studio

    接下来我再说两句关于卸载VS2010的问题,因为我在开发中遇到小问题,卸载了它再重装的,但是卸载相对其它软件来说要麻烦点。       卸载时要注意自己安装VS2010的时间,我推荐用360软件管家卸载,根据时间手动卸载。手动卸载的项目有如下:

1.      删除 Visual Studio 2010 产品的所有实例。

2.      按下列顺序卸载任何支持产品。使用非英语安装时,还必须删除列出的某些产品的语言包。在您删除列表上的最后一个包之前,没有必要重新启动。

a.      Microsoft Visual Studio 2010 ADO.NET 实体框架工具

b.      Microsoft SQL Server 2008 R2 Transact-SQL 语言服务

c.      Microsoft SQL Server 2008 R2 数据层应用程序项目

d.      Microsoft SQL Server 2008 R2 数据层应用程序框架

e.      Microsoft Sync Framework SDK 1.0 版 SP1

f.       Microsoft Sync Framework Services 1.0 版 SP1

g.      Microsoft Sync Framework Runtime 1.0 版 SP1

h.      Microsoft Silverlight 3 SDK

i.        Microsoft ASP.NET MVC 2

j.       Microsoft ASP.NET MVC 2 - Visual Studio 2010 工具

k.      Microsoft .NET Framework 4 Multi-Targeting Pack

l.        Microsoft TFS 对象模型

m.   Microsoft Visual F# 2.0 运行时

n.      Microsoft Visual Studio x64 系统必备