Configuring OpenGL development environment VS2017

This method is suitable for beginners to use, simple and convenient.
First, you must install the VS2017 C/C++开发组件
can be opened to view the Visual Studio Installer In addition, make sure you have installed , viewed in a single component, no check


NuGet包管理器

glut library can click on the link below to download
[ https://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip ] (applicable windows system)
can be downloaded to the official OpenGL different versions of the glut library
[ HTTPS: //www.opengl.org/resources/libraries/glut ]

After downloading open the archive, you can see the following files after decompression, find your installation directory of VS2017 I was E: \ Microsoft Visual Studio \ 2017 \ Community can see inside the directory




To glut.hput ...\VC\Tools\MSVC\14.10.25017\include\gldown (no gl folder create a new one)
to glut.lib,glut32.libput ...\VC\Tools\MSVC\14.10.25017\lib\x86down
to glut.dll,glut32.dllput C:\Windows\SysWOW64down (my system is 64-bit, 32-bit system if it is, please put C:\Windows\System32down)
Next, open the VS2017, a new win32控制台项目, select 空项目
if the latest version of VS2017 (2017/11/12) Please create a newWindows桌面向导

新建项目完成后,点击上方项目选择管理NuGet程序包

选择浏览,搜索nupengl,2个都安装

什么是NuGet?

 用visual studio开发的童鞋们应该都有这样的感受,经常在copy别人的项目后,出现找不到xxx.h,找不到xxx.lib,找不到balabala。甚至还有“模块计算机类型“x86”与目标计算机类型“x64”冲突”,“模块计算机类型“x64”与目标计算机类型“x86”冲突”,各种Link错误等等令人烦躁的提示!
  很多时候都是工程中使用了第三方库,而工程又没有能够自适应的配置文件能帮我们找到这些第三方库造成的,这时候需要程序员在C/C++ ->常规->附加包含目录添加各种头文件路径,链接器 -> 常规 -> 附加库目录 添加各种lib的路径,然后还需要在链接器 -> 输入 -> 附加依赖项填写工程中使用的lib名称。这已经足够烦人了,何况lib还要区分x86/x64,debug/release,vc平台(vc90,vc100 and etc.),排列组合大家都学过吧,这得配置多少次大家自己算吧。稍有不慎就会出错,如果是一个陌生的项目更大大增加出错可能,如果你忘记添加相应的lib而导致无法解析的外部符号,而恰恰你对这个外部符号很陌生并不知道它在哪个lib里,这就尴尬了。
  然而突然有一天,微软说我们做了个NuGet把Package 从工程中分离,以后它帮你管理Package 。
[http://blog.csdn.net/junparadox/article/details/51086374]

是的,再不需要C/C++ ->常规->附加包含目录添加各种头文件路径,不需要在链接器 -> 常规 -> 附加库目录 添加各种lib的路径,也不需要在链接器 -> 输入 -> 附加依赖项输入各种lib名字了。

注意:每次新建项目都要安装一下nupengl.core和nupengl.core.redist

源文件目录下新建cpp文件
输入下面的测试代码

#include<gl/GLUT.H>
void Initial(void)//初始化函数 
{
    glClearColor(1.0f, 1.0f, 1.0f, 1.0f);//白色背景,前3个是RGB,最后是Alpha值,用来控制透明,1.0表示完全不透明 glMatrixMode(GL_PROJECTION);//OpenGL按照三维方式来处理图像,所以需要一个投影变换将三维图形投影到显示器的二维空间中 gluOrtho2D(0.0, 200, 0.0, 150.0);//指定使用正投影将一个x坐标在0~200,y坐标0~150范围内的矩形坐标区域投影到显示器窗口 } void myDisplay(void)//显示回调函数 { glClear(GL_COLOR_BUFFER_BIT);//使用glClearColorz中指定的值设定颜色缓存区的值,即将窗口中的每一个像素设置为背景色 glColor3f(0.0f, 0.0f, 0.0f);//绘图颜色为黑色 glRectf(50.0f, 100.0f, 150.0f, 50.0f);//图形的坐标,绘制一个左上角在(50,100),右下角在(150,50)的矩形 glFlush();//清空OpenGL命令缓冲区,强制执行命令缓冲区中所有OpenGL函数 } int main(int argc, char * argv[])//这是使用glut库函数进行窗口管理 { glutInit(&argc, argv);//使用glut库需要进行初始化 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//设定窗口显示模式,颜色模型和缓存,这里是RGB颜色模型和单缓存 glutInitWindowPosition(100, 100);//设定窗口的初始位置,屏幕左上角为原点,单位为像素 glutInitWindowSize(400, 400);//设定窗口的大小 glutCreateWindow("第一个OpenGL程序——铖伟");//创建一个窗口,参数是窗口标题名 glutDisplayFunc(&myDisplay);//将myDisplay指定为当前窗口的显示内容函数 Initial(); glutMainLoop();//使窗口框架运行起来,使显示回调函数开始工作 return 0; } 

然后点击运行,就可以看到一个黑色的矩形

Guess you like

Origin www.cnblogs.com/steamedbun/p/11259376.html