在VS2017下配置OpenGL
这个方法适合初学者使用,较为简单方便。
第一,你的VS2017一定要安装了C/C++开发组件
可以打开Visual Studio Installer来查看
另外,确定你有安装NuGet包管理器
,在单个组件中查看,没有请勾选
glut的库可以点击下面的链接下载
[https://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip](适用windows系统)
也可以到OpenGL官网上下载不同版本的glut库
[https://www.opengl.org/resources/libraries/glut]
下载之后打开压缩包,可以看到如下的文件
解压后,找到你的VS2017的安装目录
我的是E:\Microsoft Visual Studio\2017\Community
可以看到里面的目录
把glut.h
放到...\VC\Tools\MSVC\14.10.25017\include\gl
下(没有gl文件夹就新建一个)
把glut.lib,glut32.lib
放到...\VC\Tools\MSVC\14.10.25017\lib\x86
下
把glut.dll,glut32.dll
放到C:\Windows\SysWOW64
下(我的系统是64位的,如果是32位的系统,请放到C:\Windows\System32
下)
接下来打开VS2017,新建一个win32控制台项目
,选择空项目
如果是最新版的VS2017(2017/11/12)请新建Windows桌面向导
新建项目完成后,点击上方项目
选择管理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;
}
然后点击运行,就可以看到一个黑色的矩形
在VS2017下配置OpenGL的更多相关文章
- VS2017如何配置openGL环境
转自:http://blog.csdn.net/qq_26982531/article/details/62056913 这里着重介绍vs2017配置openGL环境与以前版本的不同之处: ...
- w10环境vs2017,vs2019配置Opengl快捷方法
最近,计算机图形学老师向我们布置了任务,配置自己的opengl.百度之后我发现很多教程和方法尝试之后,我发现一种简单的方法来分享给大家. 首先我的软件配置是w10专业版系统+Visual Stdio ...
- Windows Visual Studio 下配置OpenGL
很多同学不是很清楚OpenGL的配置,一个个帮忙配置也不是办法,干脆就写一篇教程好了. 本人使用的是Visual Studio 2015版本,对于Visual Studio 2012版本的配置会稍有不 ...
- Mac Xcode下配置OpenGL
暂时搁置一下iOS,又要去弄一些杂七杂八的东西了,毕竟是学校的作业,还是要完成的. 作业是让我们用OpenGL做一个茶壶- -.而且要三维立体能旋转的那种. 好吧这些都不是重点,重点是我最终决定在Ma ...
- (一)VS2015下配置OpenGL
刚开始用OpenGL,一开始不太明白配置库的原理,在VS2015下耗费了大量时间.这里将配置过程做个笔记,以供日后查看.配置过程中,需要下载cmake构建工具以及glew和glfw库. 下载地址为: ...
- VS2019下配置OpenGL全过程
一:下载VS2019 官网下载社区版 二:下载GLEW.GLFW 百度网盘地址: 链接:https://pan.baidu.com/s/1Uvz9svdnVRvDXNHjVgApig 提取码:rsgp ...
- Windows下配置OpenGL环境
这里编译工具为VS2012. 首先OpenGL的官网如下链接(英文) http://www.opengl.org http://www.opengl.org/resources/libraries/g ...
- win7 64位系统,vs2010下配置OpenGL开发环境
glut下载地址: http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 或者:http://user.xmission. ...
- 【VS开发】【OpenGL开发】OpenGL---Windows下配置与第一个OpenGL程序
面记录一下Windows下配置OpenGL与我的第一个OpenGL程序. 第一步:选择一个编译环境 现在Windows系统的主流编译环境有Visual Studio,Broland C++ Bu ...
随机推荐
- 手机端仿ios的单级联动脚本三
脚本 <script>var weekdayArr=['非公司企业法人','个体工商户','私营独资企业','私营合伙企业','有限责任公司','股份有限责任公司'];var mobile ...
- 一:学习Linux前准备工作
1:虚拟机,网站上有很多种类的虚拟机,找一款适合自己用的.我这里使用的是 Virtual Box 下载地址:https://www.virtualbox.org/ 安装虚拟机 一路 Next 就可以. ...
- 招聘面试—关于Mysql的一点儿总结
最近半年,作为部门的面试官之一,参加了许多次招聘面试.数据库知识,尤其是对数据的增删改查等操作是软件测试人员的基本功,是面试过程中的必考项.在这其中,有一道题,是我每次面试的必考题. 题目 以Mysq ...
- Struts2如何实现MVC,与Spring MVC有什么不同?
Struts2采用filter充当前端控制器处理请求,filter会根据Struts.xml的配置,将请求分发给不同的业务控制器Action,再由Action处理具体的业务逻辑.Action处理完业务 ...
- 【SHOI2012】魔法树(树链剖分,线段树)
[SHOI2012]魔法树 题面 BZOJ上找不到这道题目 只有洛谷上有.. 所以粘贴洛谷的题面 题解 树链剖分之后直接维护线段树就可以了 树链剖分良心模板题 #include<iostream ...
- 【NOIP2014】解方程(枚举)
题面 题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, m ] 内的整数解(n 和m 均为正整数) 输入格式 输入共n + 2 行. 第一行包含2 个整数 ...
- 论文笔记(8):BING: Binarized Normed Gradients for Objectness Estimation at 300fps
译文: <基于二值化赋范梯度特征的一般对象估计> 摘要: 通过训练通用的对象估计方法来产生一组候选对象窗口,能够加速传统的滑动窗口对象检测方法.我们观察到一般对象都会有定义完好的封闭轮廓, ...
- TP5模型类关键字赋值
在写项目过程中 开始的代码如下 $ms = new MStore(); $ms->userid = $userid; $ms->address = $mc->address; $ms ...
- mybatis的Mapper文件配置
一.resultMap resultMap 元素是 MyBatis 中最重要最强大的元素. 该配置节点下如下子节点配置 id – 一个 ID 结果;标记结果作为 ID 可以帮助提高整体效能 const ...
- 转: web 页面加载速度优化实战-100% 的飞跃提升
前言 一个网站的加载速度有多重要? 反正我相信之前来 博主网站 的人至少有 50% 在加载完成前关闭了本站. 为啥捏? 看图 首页完整加载时间 8.18s,看来能进来看博主网站的人都是真爱呀,哈哈. ...