OpenGL学习进程OpenGL开发环境的搭建
Posted MenAngel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenGL学习进程OpenGL开发环境的搭建相关的知识,希望对你有一定的参考价值。
通过本节,我们来学习一下在Win10 64、VS1013环境下搭建OpenGL的开发环境。
(1)选择一个编译环境:
现在在windows中OpenGL的主流编译工具有Visual Studio,Broland C++ Builder,Dev C++等,我们选择Visual Studio2013作为开发环境。
(2)用到的资源:
我们使用了GLEW,freeglut以及GLTools这三个库。下面是它们的简介:
1)GLEW:
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW has been tested on a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.
GLEW是一个跨平台的OpenGL的扩展库,支持多个操作系统。
2)freeglut:
FreeGLUT is a free-software/open-source alternative to the OpenGL Utility Toolkit (GLUT) library。(FreeGLUT是一个免费软件/开源替代OpenGL实用工具包(GLUT)库。)
3)GLTools:
主要是为了获得这个项目编译后的gltools.lib文件。
(3)开发环境的配置:
1)下载文件:
文件名 | 我的文件 | 官网下载 |
1.GLEW | http://files.cnblogs.com/files/MenAngel/glew-1.7.0-win64.zip | http://glew.sourceforge.net/ |
2.freeglut需编译包(不用不行) | http://files.cnblogs.com/files/MenAngel/freeglut-3.0.0.tar.gz | http://freeglut.sourceforge.net/ |
3.GLTools需编译包(不用也行) | http://files.cnblogs.com/files/MenAngel/GLTools-master.zip | https://codeload.github.com/HazimGazov/GLTools/zip/master |
4.freeglut(只有freeglut.lib和.dll) | http://files.cnblogs.com/files/MenAngel/freeglut_2.8.0.zip | http://download.csdn.net/detail/wocaowogannimei/8082851 |
5.GL和GLTools.lib包 | http://files.cnblogs.com/files/MenAngel/GL%E5%92%8Cgltools.dll.lib.7z |
自定义包:GL可直接用,而且还包含GLTools.lib |
2)解压后将得到的文件分别进行配置:
处理glew:
include文件夹下是头文件,将位于include文件夹下的GL文件夹复制到"Visual Studio 2013安装目录\\VC\\include" 下;
lib文件夹下的文件复制到"Visual Studio 2013安装目录\\VC\\lib";
bin文件夹下的文件复制到C:\\Windows\\SysWOW64;(32位的系统放在System32)
处理GLTools
对于GLTools,主要是获得GLTools.lib文件, 然后将GLTools.lib复制到Visual Studio 12.0\\VC\\lib下。
我们可以通过编译GLTools项目来获得GLTools.lib,也可以直接用别人编译项目获得的GLTools:
1.下载地址:http://download.csdn.net/download/u010255642/6896993
2.编译方法:
参见文档:http://www.cnblogs.com/wangguchangqing/p/4425745.html
参见文档:http://www.ithao123.cn/content-967031.html
拷贝的结果:
至此,OpenGL开发环境配置完成。
(4)一个OpenGL的测试项目:
1)在VS2013项目中新建一个Visual C++类型的win32控制台程序,空项目:
2)创建空项目之后,而且选择不要预编译头部,在OpenGL测试项目上右击打开属性页:
3).在链接器的输入页面的附加依赖项中添加gltools.lib,glew32s.lib,freeglut.lib;在忽略特定默认库中添加LIBCMT和MSVCRT。
4)在源文件上选择右击,新建一个C++文件,命名为text1.c。(默认是.cpp文件)
5)拷贝下面的测试代码到text1.c中:
1 //#include"stdafx.h" 错误原因:VS2013/2012默认就包含了“stdafx.h”吧,所以不必再写一次。 2 #include <GL/glut.h> 3 void init(void) 4 { 5 glClearColor(0.0, 0.0, 0.0, 0.0);//设置背景颜色为黑色 6 glShadeModel(GL_SMOOTH);//设置为光滑明暗模式 7 } 8 void myDisplay(void) 9 { 10 glClear(GL_COLOR_BUFFER_BIT);// 将缓存清除为预先的设置值,即黑色 11 //glTranslatef(0.8, 0.0, 0.0);//平移函数,暂时可以不用 12 glBegin(GL_TRIANGLES);//开始画三角形 13 glColor3f(1.0, 0.0, 0.0);//设置第一个顶点为红色 14 glVertex2f(-1.0, -1.0);//设置第一个顶点的坐标 15 glColor3f(0.0, 1.0, 0.0);//设置第二个顶点为绿色 16 glVertex2f(0.0, -1.0);//设置第二个顶点的坐标 17 glColor3f(0.0, 0.0, 1.0);//设置第三个顶点为蓝色 18 glVertex2f(-0.5, 1.0);//设置第三个顶点的坐标 19 glEnd();//三角形结束 20 glFlush();//强制OpenGL函数在有限时间内运行 21 } 22 void myReshape(GLsizei w, GLsizei h) 23 { 24 glViewport(0, 0, w, h);//设置视口 25 glMatrixMode(GL_PROJECTION);//指明当前矩阵为GL_PROJECTION 26 glLoadIdentity();//将当前矩阵置换为单位阵 27 if (w <= h) 28 gluOrtho2D(-1.0, 1.5, -1.5, 1.5*(GLfloat)h / (GLfloat)w);//定义二维正视投影矩阵 29 else 30 gluOrtho2D(-1.0, 1.5*(GLfloat)w / (GLfloat)h, -1.5, 1.5); 31 glMatrixMode(GL_MODELVIEW);//指明当前矩阵为GL_MODELVIEW 32 } 33 int main(int argc, char ** argv) 34 { 35 /*初始化*/ 36 glutInit(&argc, argv); 37 glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//单缓冲、RGB模式 38 glutInitWindowSize(400, 400); 39 glutInitWindowPosition(200, 200); 40 glutCreateWindow("三角形");//窗口标题 41 init(); 42 /*绘制与显示*/ 43 glutReshapeFunc(myReshape);//窗口大小发生改变时采取的行为 44 glutDisplayFunc(myDisplay);//显示绘制图形 45 glutMainLoop();//循环 46 return(0); 47 }
点击本地windows调试器运行的结果为:
加上这句话会出现上图所示错误:
错误原因:VS2013/2012默认就包含了“stdafx.h”吧,所以不必再写一次。
以上是关于OpenGL学习进程OpenGL开发环境的搭建的主要内容,如果未能解决你的问题,请参考以下文章