当前位置: 首页 > news >正文

Visual Studio Community 2017 配置 OpenGL 环境 (NuGet)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

安装 VS Community 2017

OpenGL 库需要绑定相应的语言环境,这里本人选择的Windows下的VC++,它被包含于Visual Studio中.

  1. 下载VS 2017:VS Community 2017 官网
  2. 安装VS 2017:一路next,工作负载选择使用C++ 的桌面开发

新建C++ 项目

  1. 依次点击文件 -> 新建 -> 项目 或者 Ctrl Shift N使用快捷键新建项目.
  2. 类型:Windows 控制台应用程序
  3. 名称:OpenGLDemo.
  4. 确定.

添加 NuGet 包管理器

NuGet 组件可以方便对各类函数库的管理, 通过NuGet包管理来方便安装nupengl.core包, 省去了手动添加OpenGL各类库的配置(往往还配置的很繁琐,教材版本陈旧,报错还多).

NuGet包管理器, 在Visual Studio 2017 中时提供了安装可选,但是默认不会安装, 下面添加.

  1. 菜单栏 -> 工具 -> 获取工具和功能 -> 给予权限.
  2. 在打开的选项中选择单个组件 -> 下拉找到 代码工具一栏 -> NuGet包管理器,打上勾,安装更新,
  3. 屏幕弹出开始之前的提示信息后,选择继续关闭工程更新组件.
  4. 等待安装完成.

注意: VS 2015 版本中不集成该组件,无法通过上述方法安装, 可在 Nuget中下载并安装.

添加 nupengl.core 包

  1. 点击项目 -> 管理NuGet程序包
  2. 点击浏览
  3. 搜索 nupengl
  4. 点击 nupengl.core ,下载它.
  5. 查看下方有已完成字样时,关掉NuGet包管理器选项卡.

测试是否配置成功

  1. 打开左侧源文件,OpenGLDemo.cpp
  2. 将其代码清空:Ctrl A, Delete
  3. 将下列代码复制进去, 运行本地测试。
    // OpenGLDemo.cpp: 定义控制台应用程序的入口点。
    //
    #include "pch.h"
    
    #include "stdafx.h"
    #include <gl/glut.h>
    
    void renderWindow(void)
    {
        glClear(GL_COLOR_BUFFER_BIT);                           //当前背景色填充窗口
        glColor3f(1,0,0);                                       //颜色:RGB.此处R:1,为红色.
        glBegin(GL_TRIANGLES);                                  //开始:三角形
        glVertex2f(-0.5f, -0.5f);                               //三个顶点坐标:
        glVertex2d(0.5f, -0.5f);
        glVertex2d(-0.0f, 0.5f);
        glEnd();                                                //结束
        glFlush();                                              //输出缓冲区 
    }
    int main(int argc, char *argv[])                            //主函数: 参数数量&参数值
    {
        glutInit(&argc, argv);                                  //初始化glut: 接收主函数的参数
        glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);            //显示模式:颜色&缓冲
        glutInitWindowPosition(0, 0);                           //窗口相对屏幕位置
        glutInitWindowSize(720, 720);                           //窗口大小
        glutCreateWindow("Hello, OpenGL!");                     //创建窗口: 标题
        glutDisplayFunc(&renderWindow);                         //显示函数
        glutMainLoop();                                         //循环
        return 0;
    }

    1278095-20171113155200546-1483677394.png

转载于:https://my.oschina.net/u/2245781/blog/3023665

相关文章:

  • 华为传输千兆5G光端机 PTN960
  • 持续集成-DevOps概念篇
  • Vue(1)之—— Vuex学习笔记
  • 内购掉单问题处理
  • 闲话队列
  • Linux 查看IP
  • Exchange Server无法通过脚本启用邮箱并关闭EAS功能
  • 行内元素和块级元素
  • ZFS的元数据
  • 算法不扎实的程序员,每个都很慌
  • 外媒表示大规模的恶意广告在肆虐 相关用戶恐受影响
  • KubeEdge:开源的Kubernetes原生边缘计算框架
  • PDF裁剪页面,PDF怎么裁剪页面的方法
  • Saltstack_使用指南03_配置管理
  • Python:游戏:写一个和 XP 上一模一样的“扫雷”
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 10个确保微服务与容器安全的最佳实践
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Java到底能干嘛?
  • mysql外键的使用
  • SpringBoot几种定时任务的实现方式
  • use Google search engine
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 浮现式设计
  • 给初学者:JavaScript 中数组操作注意点
  • 前端面试总结(at, md)
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 网络应用优化——时延与带宽
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 走向全栈之MongoDB的使用
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​secrets --- 生成管理密码的安全随机数​
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • (笔试题)合法字符串
  • (三)c52学习之旅-点亮LED灯
  • (转)Linux整合apache和tomcat构建Web服务器
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net wcf memory gates checking failed
  • .net 程序发生了一个不可捕获的异常
  • .Net多线程总结
  • .net和php怎么连接,php和apache之间如何连接
  • .net开发时的诡异问题,button的onclick事件无效
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • [CF407E]k-d-sequence
  • [CSS]盒子模型
  • [FROM COM张]如何解决Nios II SBTE中出现的undefined reference to `xxx'警告
  • [hdu 2896] 病毒侵袭 [ac自动机][病毒特征码匹配]
  • [idea]关于idea开发乱码的配置
  • [IE编程] 如何设置IE8的WebBrowser控件(MSHTML) 的渲染模式