VS2005+OPENGL收藏

1.选择编译环境,选择VS2005作为学习OPENGL的环境;

2.配置OPENGL:

项目 -->选择属性 C\C++-->preprocessor-->preprocessor definition添加GLUT_BUILDING_LIB,中间用分号隔开,

然后点击linker-->input--> additional dependencies添加glut32.lib,Opengl32.lib,Glu32.lib

3.安装glut工具包:

GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装,在opengl官网可以下载,貌似链接比较难找,英文网就是麻烦,解压下载到的压缩文件,放到VC\PlatformSDK\include\gl文件夹目录下,把解压得到的glut.libglut32.lib放到静态函数库所在文件夹,即是lib文件夹,把解压得到的glut.dllglut32.dll放到操作系统目录下面的system32文件夹内;

4.建立OPENGL工程,需要包含头文件#include<GL/glut.h>,这是GLUT的头文件。本来OpenGL程序一般还要包含<GL/gl.h><GL/glu.h>,但GLUT的头文件中已经自动将这两个文件包含了,不必再次包含。

注意:在建立Win32ConsoleApplication控制台程序后,显示OPENGL窗口的同时还有控制台程序的命令行窗口,如果在使用GLUT过程中有任何错误或者警告,都会直接显示到命令行窗口,如果想去掉此命令行窗口,在建立工程的时候应该选择“Win32Application”,对于已经建好的工程,需要在Projcet->Properties-> ConfigurationProperties->Linker->System那个窗口里面,把SubSystem选项由Console改为Windows),并在程序开始时使用WinMain作为程序入口,而不是main

修改后代码框架:

view plaincopy to clipboardprint?
  1. #include<windows.h>
  2. #include<GL/glut.h>
  3. voidmyDisplay(void)
  4. {
  5. glClear(GL_COLOR_BUFFER_BIT);
  6. glRectf(-0.5f,-0.5f,0.5f,0.5f);
  7. glFlush();
  8. }
  9. intWINAPIWinMain(HINSTANCEhInst,HINSTANCEhPrev,
  10. PSTRCmdLine,intiCmdShow)
  11. {
  12. intargc=1;
  13. char*argv[]={"OpenGLApplication"};
  14. glutInit(&argc,argv);
  15. glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);
  16. glutInitWindowPosition(100,100);
  17. glutInitWindowSize(400,400);
  18. glutCreateWindow("第一个OpenGL程序");
  19. glutDisplayFunc(&myDisplay);
  20. glutMainLoop();
  21. return0;
  22. }

注意这个程序和前面的示例所不同的地方:
1
、多加了头文件:#include<windows.h>
2
main变成了WinMain,并且函数的参数有所不同。
3
、在WinMain中,定义了假的argcargv,方便使用glutInit函数。虽然看起来有些别扭,但总算是成功的将GLUT给初始化好了。

优质内容筛选与推荐>>
1、多线程实战(一) : 交通灯管理系统
2、linux 常见压缩归档命令
3、基础野:细说有符号整数
4、FPGA回忆记事(一):基于Nios II的LED实验
5、MySQL必知必会笔记<1>


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn