OpenGL学习(一)——OpenGL 初始化环境配置(VS2019+GLFW+GLAD)

2 篇文章 0 订阅
订阅专栏

目录

一、准备工作

1.安装CMake

2.下载GLFW

3.编译GLFW

4.下载GLAD

二、环境搭建

1.第一个工程

2.链接

三、测试程序


一、准备工作

1.安装CMake

进入CMake官网的 下载页面下载适用于自己操作系统平台的对应版本,这里下载的是:

下载完毕后直接点击下一步即可完成安装。

2.下载GLFW

进入CMake官网的 下载页面下载适用于自己操作系统平台的对应版本,这里下载的是Windows 64位的预编译版本:

解压后在主目录里新建一个build文件夹

3.编译GLFW

打开CMake,生成目标工程,步骤如图:

 

 然后可以看到build文件夹下生成的工程文件,用VS2019打开GLFW.sln

 右键INSTALL>重新生成

然后查看上面提到的生成include、lib的文件夹CLFW,发现编译后的文件已经生成。

4.下载GLAD

进入GLAD官网的 在线服务,选择适用于自己操作系统平台的对应版本,这里选择的是:

点击压缩包下载

二、环境搭建

新建一个OpenGL(自己命名)文件夹,创建子文件夹include、lib、src,如图

将GLFW\include文件夹下的GLFW文件夹复制到OpenGL\include文件夹下,lib文件夹下的glfw3.lib文件复制到OpenGL\lib文件夹下;同理,将下载后的GLAD\include文件夹下的glad、KHR文件夹复制到OpenGL\include文件夹下,将GLAD\src文件夹下的glad.c文件复制到OpenGL\src下。

1.第一个工程

打开VS2019,新建一个空白项目

2.链接

步骤如下:

1.打开项目属性页:

2.在VC++目录下在包含目录中将OpenGL\include目录添加进去,在库目录中将OpenGL\lib目录添加进去,如图

3.在链接器>输入下的附加依赖项opengl32.libglfw3.lib添加进去,最后点击应用,如图

4.将OpenGL\src下的glad.c复制到项目的源文件下,如图

三、测试程序

在源文件下新建test.cpp测试程序,将以下代码复制进去,若能正常运行则环境配置成功。

#include <glad/glad.h>
#include <GLFW/glfw3.h>

#include <iostream>

void framebuffer_size_callback(GLFWwindow* window, int width, int height);
void processInput(GLFWwindow* window);

// settings
const unsigned int SCR_WIDTH = 800;
const unsigned int SCR_HEIGHT = 600;

int main()
{
    // glfw: initialize and configure
    // ------------------------------
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

#ifdef __APPLE__
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
#endif

    // glfw window creation
    // --------------------
    GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "LearnOpenGL", NULL, NULL);
    if (window == NULL)
    {
        std::cout << "Failed to create GLFW window" << std::endl;
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(window);
    glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);

    // glad: load all OpenGL function pointers
    // ---------------------------------------
    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
        std::cout << "Failed to initialize GLAD" << std::endl;
        return -1;
    }

    // render loop
    // -----------
    while (!glfwWindowShouldClose(window))
    {
        // input
        // -----
        processInput(window);

        // render
        // ------
        glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);

        // glfw: swap buffers and poll IO events (keys pressed/released, mouse moved etc.)
        // -------------------------------------------------------------------------------
        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    // glfw: terminate, clearing all previously allocated GLFW resources.
    // ------------------------------------------------------------------
    glfwTerminate();
    return 0;
}

// process all input: query GLFW whether relevant keys are pressed/released this frame and react accordingly
// ---------------------------------------------------------------------------------------------------------
void processInput(GLFWwindow* window)
{
    if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
        glfwSetWindowShouldClose(window, true);
}

// glfw: whenever the window size changed (by OS or user resize) this callback function executes
// ---------------------------------------------------------------------------------------------
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{
    // make sure the viewport matches the new window dimensions; note that width and 
    // height will be significantly larger than specified on retina displays.
    glViewport(0, 0, width, height);
}

注意:最终运行时,要选择链接时候的位数

 

VS 2022配置openGL环境GLFW+GLEW)
FallenChild的博客
11-25 1万+
通过编译源代码的方式,在Visual Studio 2022环境配置glfw库和glew库,实现openGL的工作环境。附带测试用代码。
Windows VS配置opengl环境
DemoFY的博客
10-18 1402
Windows VS配置opengl环境
OpenGL 入门(一)—— OpenGL 基础
最新发布
tmacfrank的博客
05-01 1306
OpenGL(Open Graphics Library)是图形领域的工业标准,是一套跨编程语言、跨平台、专业的图形编程(软件)接口。它用于二维、三维图像,是一个功能强大,调用方便的底层图形库。它与硬件无关,可以在不同的平台如 Windows、Linux、Mac、Android、IOS 之间进行移植。因此,支持 OpenGL 的软件具有很好的移植性,可以获得非常广泛的应用(比如 PS 在部分功能和操作中使用 OpenGL 加速,以提高图像处理和渲染的性能)。对于 Android 系统而言,它支持的是 Ope
VS配置永久OpenGL环境------GLUT、GLFW
m0_53552112的博客
01-09 2438
VS配置永久OpenGL环境------GLUT、GLFW
OpenGL ES 视频教程
诺诺诺诺诺诺诺诺的博客
05-10 2391
转载请注明出处:https://blog.csdn.net/nuonuonuonuonuo/article/details/90074687 OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象...
OpenGL+VS2017 环境配置(亲测好使)::附带必要知识点
热门推荐
AvatarForTest的博客
01-29 4万+
首先参考了LearnOpenGL文档,此文档也适合新手入门,目前也在学习中,感觉非常不错。配合而《OpenGL编程指南》看效果会更好。 { 更新(2018年12月8号更 关于很多小伙伴留言说---不想重复包含include路径和lib路径问题) 建议新来的小伙伴先看原来的配置教程,先看懂原理,以不变应万变。 第一步: 打开 VS2017 找到 View-&gt;Other Windows-...
vs2015+opengl环境配置文件SOIL2.GLFW、GLEW、glm、glad
09-25
网上opengl配置环境步骤复杂,这是直接编译好了的,将对应的lib、include、bin下的文件分别复制到vs2015安装目录VC下的lib、include、bin文件里,即可使用,不用自己重新编译,由于opengl64位不太稳定,目前大部分都...
opengl+vs2017+glew+glfw配置库文件
10-22
opengl+vs2017+glew+glfw配置库文件,解压即可使用,不需要从新配置,对小白非常的友好
OpenGL的研发库 GLFW+GLAD
01-19
//glfw 初始化 glfwInit(); //glfw 设置 glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);...
VS+OpenGL+GLFW+FFmpeg.rar
04-20
基于GLFW和FFmpeg 实现的最简单的播放器,利用opengl渲染。
OpenGL VisualStudio 环境配置的 glew 和 glfw
09-28
opengl visual studio 环境配置参见博文: https://blog.csdn.net/u014361280/article/details/127070942 glew 下载地址: https://glew.sourceforge.net/ glfw 下载地址: https://www.glfw.org/download OpenGL之...
Mali_OpenGL_ES_Emulator-v3.0.1.g72cc2-Windows-32bit.zip
07-28
模拟器喵
openGL 在Visual Studio2022 环境下的配置
Accelerator12138的博客
09-14 1万+
opengl
OpenGL】八、初始化 OpenGL 渲染环境 ( 导入 OpenGL 头文件 | 链接 OpenGL 库 | 将窗口设置为 OpenGL 窗口 | 设置像素格式描述符 | 渲染绘制 ) ★
让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 )
01-17 2208
一、导入 OpenGL 的两个头文件、 二、链接 OpenGL 库、 三、将 Windows 桌面窗口改成 OpenGL 窗口、 四、获取窗口设备、 五、设置像素格式描述符、 六、设置像素格式、 七、创建并设置 OpenGL 上下文对象、 八、设置清除缓冲区背景颜色、 九、OpenGL 上下文初始化操作代码示例、 十、渲染场景、 十一、相关资源
VS2019配置OpenGL(glad + glfw + glm + SDL)
almost_afei的博客
04-06 4252
目录1. 安装Visual Studio20192. OpenGL安装2.1 各种库的区别2.2 安装cmake2.3 配置glfw2.3 配置glad2.4 配置VS3. 测试 1. 安装Visual Studio2019 直接官网安装community版,选择安装以下功能。 2. OpenGL安装 2.1 各种库的区别 glut (OpenGL Utility Toolkit) OpenGL工具库 OpenGL Utility Toolkit。OpenGL的基本库,但是很久不更新了,版本太老,不推荐
Vs如何配置OpenGL环境
weixin_52908396的博客
06-21 3914
1、打开Vs并创建一个C++空白项目 2、点击 “项目”—“管理Nuget程序包…” 3、然后点击“浏览”—在搜索栏输入“NupenGL”,把两个插件都下载下来 4、最后测试一下 #include <GL/glut.h> void Show() { glClear(GL_COLOR_BUFFER_BIT); glRectf(-0.1f, -0.1f, 0.5f, 0.5f); glFlush(); } int main(int argc, char *ar
Android OpenGL 教程——Native 工程初始化
xyTianZhao
07-21 516
Native 工程初始化
OpenGL学习(二):第一个GLFW窗口
zhouyelihua
06-28 7527
前言本课程的所有教程都是参考https://learnopengl.com/#!Getting-started/Hello-Triangle代码也是来自该网站,主要添加一些注释以及个人的一些理解。名词术语 opengl的窗口值问题  利用glfw设置窗口的时候设置的实际的像素值glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL) 但是OpenGL
第三章:初始化 OpenGL 4.0
weyson的专栏
07-09 6016
这一章将正式介绍 OpenGL 4.0。我们将涉及3个部分,初始化 OpenGL 4.0、关闭、渲染。我们将在前面教程的基础上添加 OpenGL 4.0 渲染。
vs2022配置opengl glew glad
08-18
- *2* [vs2015+opengl环境配置文件SOIL2.GLFW、GLEW、glm、glad](https://download.csdn.net/download/qq_39314918/12886976)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Floyd+路径输出 1540
  • OpenGL学习(一)——OpenGL 初始化环境配置(VS2019+GLFW+GLAD) 1036
  • 线段树——区间修改(Lazy-Tag) 356
  • 线段树——点修改 267
  • KMP模式匹配算法 266

分类专栏

  • OpenGL学习 2篇

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • OpenGL学习(二)——你好,窗口
  • KMP模式匹配算法
  • 线段树——区间修改(Lazy-Tag)
2021年2篇
2017年4篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司黔西南网站搭建推荐福州网站设计模板价格坑梓百度竞价包年推广公司黄石百度seo池州营销网站公司随州seo多少钱宜宾推广网站公司成都设计公司网站价格潮州企业网站改版哪家好海东SEO按效果付费公司定西seo排名公司遵义关键词排名报价合肥网络广告推广推荐荆州百姓网标王价格福永建网站报价丽水外贸网站建设随州至尊标王推荐玉溪企业网站设计吉祥关键词排名江门关键词排名推荐东营百度网站优化排名哪家好玉溪网站搜索优化多少钱大鹏百度网站优化排名报价武汉关键词排名包年推广公司丽水网站开发哪家好迪庆SEO按天收费推荐布吉网站优化哪家好甘南模板制作哪家好日照网站制作设计公司上海网站建设设计多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化