zoukankan      html  css  js  c++  java
  • OpenGL+VS2012编译环境配置


    OpenGL库主体分为三部分,分别是

    • gl(OpenGL核心库)
    • glu(Utility Library,OpenGL实用库)
    • glut(Utility Toolkit,OpenGL实用工具库)


    gl


    gl是OpenGL的核心,提供了OpenGL的基本函数,每个函数都以GL开头。核心库包含有115个函数,用于常规的、核心的图形处理。

    gl.h是OpenGL核心库的头文件,对应的导入库和动态库为opengl32.lib和opengl32.dll,Windows系统自带的有,保存路径在 “C:WindowsSystem32” ,可以打开该文件查看:





    glu



    glu提供的是一些基础的、简单的形状的实用函数,是对gl的部分封装,目的是为了减轻繁重的编程工作。每个函数都以glu开头。包含43个函数。

    glu.h是OpenGL功能函数库的头文件,对应glu32.lib和glu32.dll,跟opengl32.dll一样,Windows系统也自带有该文件,在同样的 保存在 “C:WindowsSystem32” 路径下:





    glut



    glut是基本的窗口界面,是不依赖于窗口平台的OpenGL工具包,目的在于隐藏不同窗口平台API的复杂度。 glut独立于gl和glu,主要用来打开窗口、开发和管理菜单,以及管理事件等,函数前缀使用glut,包含30多个函数。


    OpenGL的下载和配置



    OpenGL中唯一需要下载的就是glut库了,下载之后整个配置流程也比OpenCV配置简单很多。


    1. 下载glut库,地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 

    下载之后会得到一个名为“glutdlls37beta.zip”的压缩包,文件很小,只有145K。下载之后解压缩,一共有5个文件:





    2. 拷贝解压缩文件里的 glut.dll 和 glut32.dll 放到目录C:WindowsSystem32下:




    3. 配置项目的包含路径


    • 3.1  新建VC++控制台工程,选择  视图->属性管理器,在属性管理器的 “Debug|Win32”上点击右键,选择“添加新项目属性表(P)”,在弹出的对话框里输入名称“OpenGLSetting”(名称随意),并点击确定。




    • 3.2  双击刚才添加的 “OpenGLSetting” 属性表,在弹出的对话框中选择 通用属性->VC++目录,在VC++目录里的 “包含目录”和“库目录”里分别输入在第一步中压缩包 “glutdlls37beta.zip”解压出来的路径。如我的是放在E盘OpenGL->glutdlls37beta文件夹里的,就输入“E:OpenGLglutdlls37beta




    完成这简单的两步之后,OpenGl就配置成功了,推荐把刚才配置的属性页文件“OpenGLSetting”保存起来,下次再建工程,直接加载即可,不用再添加新的属性页配置了。


    下边的小程序用来验证刚才的配置是否正确。


    #include <glut.h>  
    
    void myDisplay(void)    
    {    
    	glClear(GL_COLOR_BUFFER_BIT);    
    	glRectf(-0.5f, -0.5f, 0.5f, 0.5f);   
    	glFlush();   
    }  
    
    int main(int argc, char *argv[])    
    {    
    	glutInit(&argc, argv);    
    	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);  
    	glutInitWindowPosition(100, 100);    
    	glutInitWindowSize(400, 400);    
    	glutCreateWindow("第一个OpenGL程序");   
    	glutDisplayFunc(&myDisplay);    
    	glutMainLoop();    
    	return 0;    
    }  


    如果编译运行之后有如下结果,说明配置成功。



    OpenGL的神奇美妙世界的大门已经为你敞开,Go for it!


  • 相关阅读:
    C#分割字符串
    Android中this、super的区别
    Android activity跳转方式
    Android中的各种单位
    Android布局方式_RelativeLayout
    Parallelism , Partitioner
    编译hadoop,spark遇到的问题总结
    scala,spark练习题提高
    元组复杂例子
    sparksql 操作hive
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9411927.html
Copyright © 2011-2022 走看看