这个方法适合初学者使用,较为简单方便。
第一,你的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开发环境的更多相关文章

  1. VC 6中配置OpenGL开发环境

    2010,2012中配置类似 http://hi.baidu.com/yanzi52351/item/f9a600dffa4caa4ddcf9be1d VC 6中配置OpenGL开发环境 这里,我习惯 ...

  2. Windows 7 Visual Studio 2008配置OpenGL开发环境

    Windows 7 Visual Studio 2008配置OpenGL开发环境 glut下载地址: http://www.opengl.org/resources/libraries/glut/gl ...

  3. VS2010配置OpenGL开发环境

    OpenGL(Open Graphics Library)是一个跨编程语言.跨平台的专业图形程序接口.OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应 ...

  4. VS2010配置OpenGL开发环境(转)

    OpenGL(Open Graphics Library)是一个跨编程语言.跨平台的专业图形程序接口.OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应 ...

  5. 【游戏开发】基于VS2017的OpenGL开发环境搭建

    一.简介 最近,马三买了两本有关于“计算机图形学”的书籍,准备在工作之余鼓捣鼓捣图形学和OpenGL编程,提升自己的价值(奔着学完能涨一波工资去的).俗话说得好,“工欲善其事,必先利其器”.想学习图形 ...

  6. vs2015配置OpenGL开发环境

    先吐槽下,不知道微软怎么整的,从win7开始,OpenGL的头文件更改到windows SDK中,不安装就不能用. 更搞笑的是,在win10下,vs2015安装还报win sdk安装失败,这典型的自己 ...

  7. [OpenGL]VS2010配置OpenGL开发环境

    opengl概述 OpenGL(Open Graphics Library)是一个跨编程语言.跨平台的专业图形程序接口. OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任 ...

  8. macOS Mojave配置OpenGL开发环境

    ---恢复内容开始--- 前言: 本文写作目的: 是由于本人参考 csdn原文 的方法配置环境时踩了很多坑,所以在此写一篇文防止以后用到. 工具: Xcode CMake 步骤: 准备工作: Xcod ...

  9. VC++配置OpenGL开发环境

    目录 第1章配置    1 第2章核心文件    6 2.1 核心文件    6 2.2 编译时使用核心文件    6 2.3 运行时使用核心文件    7 2.4 依赖关系    7 第3章 AUX ...

随机推荐

  1. 使用pdf.js显示pdf文件

    <script type="text/javascript" src="build/pdf.min.js"></script> < ...

  2. schroeder reverb matlab实现

    原理参考:Natural sounding artificial reverberation combFilter.m: function output = combFilter(delay, gai ...

  3. 每天进步一点点------Allegro 铺铜详解

    铺铜在设计PCB板时很重要,为了加深理解,笔者写下这篇学习的过程. 首先要理解什么是正片和负片,结合网上的资料来理解一下: 正片实际就是能在底片上能看到的就是存在的 负片实际上就是在底片看到的就是不存 ...

  4. CentOS6.5-6.9安装 docker

    安装docker yum -y install docker-io 备注:查看内核版本uname -r ;卸载docker版本命令 yum remove docker 更改配置文件 vim /etc/ ...

  5. 2019 ICPC南京站网络赛 H题 Holy Grail(BF算法最短路)

    计蒜客题目链接:https://nanti.jisuanke.com/t/41305 给定的起点是S,终点是T,反向跑一下就可以了,注意判负环以及每次查询需要添加边 AC代码: #include< ...

  6. 直方图histeq

    histeq的原理: [MN]=size(H); [counts,x]=imhist(H);%H是读取的图像,imhist是对图像直方图进行统计,其中count,是每个灰度值得个数,x代表灰度值.一般 ...

  7. MySQL执行外部sql脚本文件的命令

    sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(我们称之为“sql脚本文件”),然后通过相关的命令执行这个sql脚本文件.基本步骤如下:1.创建包含sql命 ...

  8. ubuntu建立软链接注意事项

    ln 参数 源文件 目标链接文件 -s:代表新建一个软链接,又称符号链接: eg.  ln -s /mnt/d/Documents/source.xlsx target.xlsx 1.目标文件的后缀名 ...

  9. Git - 06. git checkout

    1. 概述 已经学会查看 提交记录 尝试在 提交记录 之间做跳转 2. 命令 跳转到提交 概述 跳转到 日志 里的某次提交 命令 # 撤销 工作区的所有改动, 返回 当前分支 的 上一个提交 > ...

  10. python连接oracle数据库报错"DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "解决方案

    操作系统,python3.5, oracle_11, 均为64位:plsql 正常连接. 也顺利安装了cx_oracle 6.3,但是python进行连接的时候就会报错"DatabaseEr ...