【openGL学习笔记】----GLFW、GLAD环境配置

glew、glad、freeglut、glfw的区别?

  1. glew(The OpenGL Extension Wrangler Library)是对底层OpenGL接口的封装,可以让你的代码跨平台。
  2. glad与glew作用相同,可以看作它的升级版。
  3. Freeglut(OpenGL Utility Toolkit)允许用户创建OpenGL上下文、定义窗口参数以及处理用户输入等
  4. glfw(Graphics Library Framework)是Freeglut升级版,作用基本一样。

通常来说glad和glfw配合使用来提供更高效的渲染和更好的跨平台支持‌。

配置GLFW

GLFW可以从它官方网站的下载页上获取。GLFW已经提供为Visual Studio(2012到2022都有)预编译好的二进制版本和相应的头文件。

VS2022链接GLFW

  1. 首先进入Project Properties(工程属性,在解决方案窗口里右键项目),然后选择VC++ Directories(VC++ 目录)选项卡(如下图)。在下面的两栏添加目录:在这里插入图片描述
    这里可以把自己的目录加进去,让工程知道到哪去搜索。
    需要手动把目录加在后面,也可以点击需要的位置字符串,选择选项,之后会出现类似下面这幅图的界面,图是选择Include Directories(包含目录)时的界面:
    在这里插入图片描述
    这里可以添加任意多个目录,IDE会从这些目录里寻找头文件。所以只要将GLFW的Include文件夹加进路径中,就可以使用<GLFW/…>来引用头文件。库文件夹也是一样的。
  2. 现在VS可以找到所需的所有文件了。最后需要在Linker(链接器)选项卡里的Input(输入)选项卡里添加glfw3.lib这个文件:在这里插入图片描述
    要链接一个库我们必须告诉链接器它的文件名。库名字是glfw3.lib,我们把它加到Additional Dependencies(附加依赖项)字段中(手动或者使用选项都可以)。这样GLFW在编译的时候就会被链接进来了。

配置GLAD

GLAD是一个开源的库,使用了一个在线服务定义OpenGL的版本,并且根据这个版本加载所有相关的OpenGL函数。

  1. 打开GLAD的在线服务,将语言(Language)设置为C/C++,在API选项中,选择3.3以上的OpenGL(gl)版本(更新的版本也能用)。
  2. 将模式(Profile)设置为Core,并且保证选中了生成加载器(Generate a loader)选项。现在可以先(暂时)忽略扩展(Extensions)中的内容。
  3. 都选择完之后,点击生成(Generate)按钮来生成库文件。
  4. GLAD提供了一个zip压缩文件,包含两个头文件目录,和一个glad.c文件。将两个头文件目录(glad和KHR)复制到配置Include目录中),并添加glad.c文件到工程中。
  5. 加载头文件
#include <glad/glad.h> 

编译没有报错说明已经配置成功。

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

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

相关文章

Torch常用函数

博主看开源遇到的torch常用函数&#xff0c;记录方便查阅 clamp()Conv1d()expand()tril()Parameter()Identity()flatten()repeat()contiguous()narrow()view() 与 reshape()expand()squeeze()和unsqueeze()transpose()permute()size()和shapemasked_fill()new_zeros() clamp() …

熟练使用Spring Boot、Spring Cloud Alibaba微服务开发框架,并深入理解其原理 学习要求

1. Spring Boot 核心理解 自动配置&#xff1a;了解 Spring Boot 的自动配置原理&#xff08;EnableAutoConfiguration&#xff09;&#xff0c;包括如何查看和定制自动配置的内容。需要能解释 Spring Boot 如何减少样板代码。Spring Boot Starter&#xff1a;熟悉各种 starte…

Synchronized锁的升级流程详解

在Java多线程编程中&#xff0c;synchronized关键字用于确保在同一时刻只有一个线程可以访问被锁定的资源&#xff0c;从而维护数据的一致性和安全性。然而&#xff0c;在多线程环境中&#xff0c;锁的频繁获取和释放会带来性能开销。为了提高性能&#xff0c;Java虚拟机&#…

计算机组成原理(笔记7高速缓冲存储器Cache,计算机组成原理的重难点全、直接、组相连)

为什么要设立高速缓冲存储器 &#xff08;Cache&#xff09;&#xff1f; Cache是介于CPU和主存之间的小容量存储器&#xff0c;存取速度比主存快。它能高速地向CPU提供指令和数据&#xff0c;加快程序的执行速度。它是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。…

10月15日,每日信息差

第一、《哈利・波特与魔法石》在中国内地总票房突破 3 亿元&#xff0c;包括 2002 年首映的 5600 万&#xff0c;2020 年重映的 1.923 亿&#xff0c;以及 2024 年重映的 5170 万。 第二、全国铁路实施新货物列车运行图&#xff0c;增开城际班列至 131 列&#xff0c;多式联运…

qiankun-前端接入微服务vue3项目应用

背景 由于在 《吐槽一次qiankun微前端的框架》 这篇博客中&#xff0c;初次使用qiankun&#xff0c;然后接入了原生项目作为微服务的应用到主应用&#xff0c;所以就想着出个系列篇 目的 介绍利用qiankun框架&#xff0c; vue3 项目应用作为微应用&#xff0c;怎么接入到主应…

节点+镜像

节点、镜像: 在服务器领域&#xff0c;"节点" 和 "镜像" 是两个关键的概念&#xff0c;常与分布式系统、云计算或集群相关联。以下是对它们的详细解释&#xff1a; 1. 服务器节点 在分布式系统或云计算环境中&#xff0c;节点指的是网络中执行特定任务的…

使用Mockaroo生成测试数据

使用Mockaroo生成测试数据 最近在学习【Spring Boot & React】Spring Boot和React教程视频的P51.Generating 1000 students一课中&#xff0c;看到了https://www.mockaroo.com/网站可以用来模拟生成测试数据&#xff0c;觉得还不错&#xff0c;特此记录一下。感觉每次看老…

centOS部署Jenkins实现项目可持续自动化部署

个人看的是尚硅谷的视频&#xff0c;跟着实战&#xff0c;但因为视频是21年的&#xff0c;所以很容易出现jenkins插件不适配问题。 因而个人直接用较新版的jdk和jenkins. 先切换到root用户 sudo su一、安装jdk 先查询可安装版本 yum list java*安装jdk&#xff08;只复制圈…

【Python爬虫实战】正则:中文匹配与贪婪非贪婪模式详解

&#x1f308;个人主页&#xff1a;https://blog.csdn.net/2401_86688088?typeblog &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、匹配中文 &#xff08;一&#xff09;匹配单个中文字符 &#xff08;二…

数据结构常考基础代码题-顺序表有序插入

顺序表递增有序&#xff0c;插入元素 x&#xff0c;仍递增有序 第一步&#xff1a;定义顺序表结构体 根据题目中的“顺序表递增有序”&#xff0c;我们需要定义一个顺序表结构体&#xff0c;用于存储元素和顺序表的相关信息。 typedef struct {int *data; // 动态数组存储元…

DeepFM模型代码详解

直到看到这篇文章&#xff0c;我才搞明白类别特征怎么做lookup的&#xff0c;也看明白了代码逻辑。如果你看完没懂&#xff0c;私信留下wx&#xff0c;给你讲懂。 1、Deepfm 的原理&#xff0c;DeepFM 是一个模型还是代表了一类模型&#xff0c;DeepFM 对 FM 做了什么样的改进…

单细胞copyKat分析学习和整理

CopyKAT(肿瘤拷贝数核型分析)是一种使用综合贝叶斯方法的计算工具&#xff0c;能够在单细胞中以5MB分辨率检测全基因组非整倍体&#xff0c;以便从高通量单细胞RNA测序数据中区分肿瘤细胞与正常细胞&#xff0c;并识别肿瘤亚克隆。 (这里提一下,“5MB”是指 5兆碱基对(5 megab…

JSP复习(二)

九大内置对象 在 JSP&#xff08;JavaServer Pages&#xff09;中&#xff0c;有九大内置对象&#xff0c;这些对象为开发者提供了常用的功能&#xff0c;帮助简化 JSP 页面中的处理。以下是这九大内置对象&#xff1a; request&#xff1a;表示客户端请求的对象&#xff0c;可…

CTF-PWN方向 栈溢出等基础知识笔记(2)

C语言基本函数补充 write函数 ret2syscall 要求有0x80这种系统调用存在 &#xff08;0x0A是回车的意思&#xff09; 案例 通过file查看这个文件 发现是静态编译的文件 所以很多库函数都被编译进去了 但是不存在bin/sh字符串 不存在system和backdoor函数 修改&#xff0c;rea…

纯手柄控制电脑(且不用插鼠标而使用虚拟鼠标)

前言 因电脑升级后&#xff0c;旧主机就作为客厅游戏机使用了&#xff0c;于是想尽量减少设备的插入&#xff0c;单纯的每次只拔插手柄这一项外设就行&#xff0c;于是需要两大步骤即可到位。 安装JoyXoff 一、官网下载并直接安装&#xff1a;JoyXoff 二、默认开机自启&…

【环境搭建】远程服务器搭建ElasticSearch

参考&#xff1a; 非常详细的阿里云服务器安装ElasticSearch过程..._阿里云服务器使用elasticsearch-CSDN博客 服务器平台&#xff1a;AutoDL 注意&#xff1a; 1、切换为非root用户&#xff0c;su 新用户名&#xff0c;否则ES无法启动 2、安装过程中没有出现设置账号密码…

AD9361 在低至 1MHz 的频率下运行

AD9361 在低至 1MHz 的频率下运行 AD -FREQCVT1-EBZ是包含AD9361的FMCOMMS3/4/5板的附加板。虽然完整的芯片级设计包可在此 RF 收发器的ADI产品页面上找到&#xff0c;但有关此卡的信息及其使用方法、围绕它的设计包以及可使其工作的软件可在此处找到。 AD-FREQCVT1-EBZ 模块…

山西农业大学20241015

02-VUE 一. Vue中常用的指令1. Vue指令概述2 Vue中指令的分类3 Vue中指令3.1 内容渲染指令3.2 条件渲染指令3.2.1 v-show3.2.2 v-if3.2.3 v-else 和 v-else-if 3.3 事件绑定指令 v-on--重要3.3.1 内联语句3.3.2 methods中的函数名 一. Vue中常用的指令 1. Vue指令概述 概念: 指…

安装Node.js环境,安装vue工具

一、安装Node.js 去官方网站自行安装自己所需求的安装包 这是下载的官方网站 下载 | Node.js 中文网 给I accept the terms in the License Agreement打上勾然后点击Next 把安装包放到自己所知道的位置,后面一直点Next即可 等待它安装好 然后winr打开命令提示符cmd 二、安装…