在Visual Studio 2017上配置并使用OpenGL

news2024/11/20 7:10:09

1 在Visual Studio 2017上配置并使用OpenGL

在GLUT - The OpenGL Utility Toolkit:GLUT - The OpenGL Utility Toolkit中点击“GLUT for Microsoft Windows 95 & NT users”,选择“If you want just the GLUT header file, the .LIB, and .DLL files all pre-compiled for Intel platforms, you can simply download the glutdlls37beta.zip file (149 kilobytes).”并点击下载。

下载完并解压之后,会出现如下几个文件:

2. 配置glut库文件

找到vs2017的安装目录,我的安装路径为D:\VS2017\VC\Tools\MSVC\14.16.27023\include\,创建一个名为gl的文件夹,并将解压的glut.h文件复制其中。

再找到路径为 D:\VS2017\VC\Tools\MSVC\14.16.27023\lib\x86,将解压到的glut.lib,glut32.lib复制其中。

最后把解压到的glut.dll和glut32.dll复制到C:\Windows\System32文件夹内(32位系统)或C:\Windows\SysWOW64(64位系统)。

3. 安装Nuget程序包

新建项目“Windows桌面向导”,选择“空项目”。

“项目”->“管理Nuget程序包”

“浏览”->“搜索nupengl”

将“nupengl.core.redist”与“nupengl.core”下载下来。 

4. 运行程序

“项目”->“添加新项”->“C++文件”,新建一个“.cpp”文件。

编写第一个OpenGL程序,并按“F5”键运行。

#include <GL/glut.h>
void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
    glFlush();
}
 
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("第一个OpenGL程序");
    glutDisplayFunc(&myDisplay);
    glutMainLoop();
    return 0;
}

显示出一个黑色背景上的白色矩形图。

注意:每次新建一个项目时,都应重新安装“nupengl.core.redist”与“nupengl.core”这两个文件。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/955379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Win7系统电脑开机总出现硬盘自检的简单解决方法

你是不是经常会遇到电脑开机进行硬盘自检&#xff0c;而且每次开机都检查很久不能跳过&#xff1b;怎么才能跳过这一步骤呢&#xff1f;下面教大家如何让Win7系统电脑在开机的时候跳过硬盘自检这一步骤&#xff0c;加快开机时间。 解决步骤&#xff1a; 1、按下“Win R”快捷键…

冠达管理:美联储或已达加息终点,但反弹面临诸多不确定性

本周以来&#xff0c;多项数据显现美国经济正在降温&#xff0c;联邦基金利率期货显现&#xff0c;美联储本轮加息周期或已结束。 于美股而言&#xff0c;正处于高位的货币基金是未来继续上涨的潜在动力。不过&#xff0c;与此前反弹行情的推进力比较&#xff0c;当时的不确定…

SAP:IDCNGRIR_GNB报表展示物料描述与采购订单不一致

1、问题描述&#xff1a; 目前在项目中发现执行SAP的IDCNGRIR_GNB报表的时候&#xff0c;出现了物料编码和订单的物料编码不一致的情况&#xff1a; 2、问题展示&#xff1a; 采购订单上物料及编码显示 IDCNGRIR_GNB报表执行结果显示 3、问题原因&#xff1a; 调试程序发现…

2023年信息安全管理与评估赛项参考答案-模块1任务一

根据网络拓扑图所示&#xff0c;按照IP 地址规划表&#xff0c;对防火墙的名称、各接口IP 地址进行配置。共8 分&#xff0c;每错1 处&#xff08;行&#xff09;扣1 分&#xff0c;扣完为止。地址、安全域、接口&#xff08;状态为UP&#xff09;、名称都正确。 2.根据网络拓扑…

一文读懂融资融券交易技巧!在上海开融资融券账户交易利率一般是多少?

融资融券交易技巧包括以下几点&#xff1a; 熟悉股票市场&#xff1a;了解市场走势、公司基本面等信息&#xff0c;根据趋势选择合适的股票进行交易。 做好风险管理&#xff1a;对买卖的风险进行合理评估&#xff0c;设定止损价位&#xff0c;防止损失过大。 控制杠杆比例&am…

java代码设计方案

一、代码重复问题处理 1、利用工厂模式 模板方法模式&#xff0c;消除 if…else 和重复代码 场景&#xff1a; 假设要开发一个购物车下单的功能&#xff0c;针对不同用户进行不同处理&#xff1a; 普通用户需要收取运费&#xff0c;运费是商品价格的 10%&#xff0c;无商品折…

three.js渲染带动画的glb文件

1. 准备工作 将下列文件在three.js的包中找到&#xff0c;注意的是我这里使用的是模块化版本的&#xff0c;这里不知道模块化的&#xff0c;可以先去看一下es6的模块化。 控制器&#xff1a; OrbitControls.js 加载器&#xff1a;GLTFLoader.js 材质&#xff1a; RoomEnvironm…

学习JAVA打卡第四十八天

Math类 在编写程序时可能需要计算一个数的平方根、绝对值或获取一个随机数等。 Math类的常用方法 BigInteger类 程序如果需要处理特别大的整数就可以用Java.math包中的BigInteger类的对象。 可以构造public BigInteger&#xff08;string val&#xff09;构造一个十进制的B…

Flink+Paimon多流拼接性能优化实战

目录 &#xff08;零&#xff09;本文简介 &#xff08;一&#xff09;背景 &#xff08;二&#xff09;探索梳理过程 &#xff08;三&#xff09;源码改造 &#xff08;四&#xff09;修改效果 1、JOB状态 2、Level5的dataFile总大小 3、数据延迟 &#xff08;五&…

【zookeeper】zookeeper介绍

分布式协调技术 在学习ZooKeeper之前需要先了解一种技术——分布式协调技术。那么什么是分布式协调技术&#xff1f;其实分布式协调技术主要用来解决分布式环境当中多个进程之间的同步控制&#xff0c;让他们有序的去访问某种临界资源&#xff0c;防止造成"脏数据"的…

Joint contrast enhancement and exposure fusion for real-world image dehazing、近红外去雾、(近)红外和可见光数据集

今天给大家分享一篇发表在IEEE TMM上的去雾文章Joint Contrast Enhancement and Exposure Fusion for Real-World Image Dehazing 作者从对比度增强和曝光融合的视角来解决图像去雾问题&#xff0c;在真实场景上取得了较好的去雾效果。此外&#xff0c;作者将所提出的方法应用…

mqtt集群搭建并使用nginx做负载均衡_亲测得结论

mqtt集群搭建 RabbitMQ集群搭建和测试总结_亲测 搭建好RabbitMQ集群,并开启mqtt插件功能,mqtt集群也就搭建好了 nginx配置mqtt负载均衡 #修改rabbitmq1节点ip为1.19的nginx配置 vim /etc/nginx/nginx.confhttp { } #在http外添加如下配置 stream {upstream rabbitmqtt {ser…

OpenCV(十二):图像透视变换

目录 1.透视变换介绍 2.计算透视变换矩阵getPerspectiveTransform(&#xff09; 3.透视变换函数warpPerspective() 4.demo 1.透视变换介绍 透视变换是一种将原始图像映射到目标图像平面上的投影变换&#xff0c;又称为四点变换。 透视变换矩阵的一般形式如下所示&#xff…

城市内涝积水监测预警系统 yolov8

城市内涝积水监测预警系统通过yolov8网络深度学习框架&#xff0c;算法一旦识别到道路出现积水&#xff0c;城市内涝积水监测预警系统会立即发出预警信号。并及时通知相关人员。YOLO检测速度非常快。标准版本的YOLO可以每秒处理 45 张图像&#xff1b;YOLO的极速版本每秒可以处…

具有 70V 总线故障保护功能的ISO1042BQDWVRQ1、ISO1042BQDWVQ1、ISO1042QDWVRQ1汽车类隔离式 CAN 收发器

一、目标应用 • 起动机/发电机 • 电池管理系统 (BMS) • 直流/直流转换器 • 车载充电器 (OBC) 和无线充电器 • 逆变器和电机控制 二、器件规格 1、ISO1042BQDWVRQ1 完全版 收发器&#xff0c;隔离式 1/1 CANbus 8-SOIC 类型&#xff1a;收发器&#xff0c;隔离式 协议&a…

day30 日期转换

一&#xff1a;Date Date类&#xff1a; 这个类是java.util.Date getTime() : 获取内部维护的long值 Date date new Date(); long time date.getTime(); setTime()&#xff1a;按照指定的long值&#xff08;表示的时间&#xff09;设置Date表示的时间 time 60*60*24*1000;…

项目实践:类平面抓取点计算(占位,后面补充)

文章目录 文章目录&#xff1a;3D视觉个人学习目录微信&#xff1a;dhlddxB站: Non-Stop_

贯穿嵌入式开发的编程语言?

有个朋友和我说嵌入式行业中有没有什么神技巧&#xff0c;所谓的一招鲜吃遍天一般&#xff0c;那还真的有&#xff0c;在嵌入式开发中&#xff0c;C语言是最广泛使用的编程语言之一&#xff0c;覆盖范围几乎涵盖了整个领域。视频后方有免费的嵌入式学习资料&#xff0c;入门和进…

PHP 接入微信支付分

♦ 背景 最近项目中需要接入【微信支付分】的服务&#xff0c; 本文以 【免确认订单模式】&#xff1a;即先享模式&#xff08;评估不通过不可使用服务&#xff09;的使用 在此做一下实现步骤&#xff0c;希望能对小伙伴有所帮助&#xff0c;欢迎指摘 … 实现语言&#xff1a;P…

【NLP】手把手使用PyTorch实现Transformer以及Transformer-XL

手把手使用PyTorch实现Transformer以及Transformer-XL Abstract of Attention is all you need使用PyTorch实现Transformer1. 构建Encoder-Decoder模型1.1 导入依赖库1.2 创建Encoder-Decoder类1.3 创建Generator类 2. 构建Encoder2.1 定义复制模块的函数2.2 创建Encoder2.3 构…