VS2022配置OpenGL+GLAD

这篇具有很好参考价值的文章主要介绍了VS2022配置OpenGL+GLAD。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Glew(The OpenGL Extension Wrangler Library)是对底层OpenGL接口的封装,可以让你的代码跨平台。Glad与Glew作用相同,可以看作它的升级版。

Freeglut(OpenGL Utility Toolkit)主要用于创建并管理窗口和OpenGL上下文、处理手柄、键盘、鼠标输入的功能等。Glfw(Graphics Library Framework)则是Freeglut升级版。

通常来说Glad与Glfw配合使用。


我打算配合使用OpenGL和GDAL来读取和处理TIF图像,至于原因呢,可以看下ChatGPT的回答哈哈

GDAL和OpenGL配合读取TIF的一般步骤如下:

将GDAL和OpenGL结合使用可以实现在OpenGL中读取和渲染TIF影像,从而实现在图形界面中显示地理空间影像的功能。以下是一般的步骤:

  1. 使用GDAL库读取TIF影像,获取影像的数据和元信息,如影像宽度、高度、像素类型、地理空间坐标信息等。可以参考前面提供的GDAL读取TIF影像的示例代码。

  2. 将GDAL读取的影像数据传递给OpenGL,可以通过创建OpenGL纹理(Texture)来加载影像数据。可以使用OpenGL的纹理映射(Texture Mapping)功能,将影像数据映射到OpenGL的纹理对象上。可以使用OpenGL的API来创建纹理对象、设置纹理参数、加载影像数据到纹理对象等。

  3. 在OpenGL的渲染循环中,通过使用纹理对象将TIF影像渲染到OpenGL的窗口或画布上。可以使用OpenGL的2D或3D绘制功能,将纹理对象作为纹理贴图(Texture Mapping)应用到OpenGL的几何图形上,从而将影像渲染到屏幕上。

优势在哪里?

结合使用GDAL和OpenGL可以实现在图形界面中实时渲染和显示地理空间影像的功能,相比单独使用GDAL,有以下一些优势:

  1. 实时渲染:使用OpenGL可以在实时渲染的环境中显示地理空间影像,可以实时查看和交互地理空间数据,如放大、缩小、旋转、平移等操作,提供更直观的用户体验。

  2. 3D渲染:OpenGL支持3D渲染,可以将地理空间影像渲染到3D模型上,实现更复杂的三维地理可视化效果,如地形、建筑物等的渲染。

  3. 硬件加速:OpenGL利用图形硬件加速渲染,可以充分利用计算机的GPU资源,提供高性能的渲染速度,特别是对于大尺寸高分辨率的地理空间影像,可以实现实时渲染的效果。

  4. 图形界面交互:结合OpenGL可以实现更丰富的图形界面交互,如使用鼠标、键盘等输入设备进行用户交互,例如选择、标注、测量等操作,提供更灵活和便捷的用户操作。

  5. 可扩展性:OpenGL作为一种跨平台的图形渲染库,可以在多种操作系统和硬件平台上运行,具有较好的可扩展性,可以方便地与其他图形库或工具进行集成,实现更复杂的地理信息系统(GIS)应用。

综上所述,结合使用GDAL和OpenGL可以充分发挥二者的优势,实现更强大和灵活的地理空间影像渲染和显示功能。

2023/4/23补充:VS2022+GDAL已经配置好了,教程如下

VS2022配置GDAL_程序员班长的博客-CSDN博客


有同学可能要问了,GDAL和GLAD是什么区别?

Glad和GDAL是两个不同的库,它们在功能和用途上有明显的区别。

  1. Glad是一个用于管理和加载OpenGL函数指针的C/C++库。它可以生成用于加载OpenGL函数的代码,从而允许开发者在OpenGL应用程序中使用最新的OpenGL功能。Glad提供了简单的、跨平台的方法来加载和管理OpenGL函数指针,以便开发者可以方便地使用OpenGL的各种功能。

  2. GDAL(Geospatial Data Abstraction Library)是一个开源的、跨平台的库,用于处理和处理地理空间数据。GDAL支持许多地理空间数据格式,如栅格数据(如遥感图像、DEM等)和矢量数据(如矢量地图、矢量数据集等)。GDAL提供了丰富的功能,包括数据读取、写入、转换、处理、投影变换等,可以用于访问、处理和分析各种地理空间数据。

在区别和联系方面,可以总结如下:

  1. 功能:Glad用于加载和管理OpenGL函数指针,以便在OpenGL应用程序中使用最新的OpenGL功能。GDAL用于处理和处理地理空间数据,支持多种地理空间数据格式。

  2. 用途:Glad主要用于图形编程中的OpenGL应用程序,而GDAL主要用于地理空间数据处理和分析,如GIS(地理信息系统)、遥感、地图制图等应用。

  3. 领域:Glad主要在计算机图形和游戏开发领域中使用,而GDAL主要在地理空间信息领域中使用。

  4. 跨平台支持:Glad是一个跨平台的库,可以在多个操作系统上使用,包括Windows、macOS、Linux等。GDAL同样也是一个跨平台的库,可以在多个操作系统上使用,并且对于地理空间数据格式的支持相对较全面。

总的来说,Glad用于加载和管理OpenGL函数指针,用于图形编程中的OpenGL应用程序;而GDAL用于处理和处理地理空间数据,主要用于地理空间信息领域。选择使用哪个库取决于你的具体需求和应用领域。


VS2022配置OpenGL+GLAD教程如下

一、需要下载安装的环境及工具

1、Visual Studio 2022 professional Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器

Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器

下载安装并进行激活(激活码请自行获取,本教程不提供)。

2、GLFW  

Download | GLFW

VS2022配置OpenGL+GLAD

下载Source package,下载完成后将压缩包解压,备用。

3、Glad

https://glad.dav1d.de/

这里gl的版本需要选version 3.3以上,机器配置够好甚至可以拉满,这里以version 4.0为例。

VS2022配置OpenGL+GLAD

然后下载生成的压缩包

VS2022配置OpenGL+GLAD

(1)下载完成后将压缩包解压。

(2)任意找一个地方新建文件夹,注意不能有中文路径。将上述解压的glfw与glad文件夹放到此新建的文件夹中。

例如我的文件夹是C:\OpenGL,文件夹内容如下

VS2022配置OpenGL+GLAD

4、CMake

Download | CMake

下载安装,安装选项全部默认即可。

二、配置环境

1、准备工作


在glfw-3.3.8文件夹中新建build文件夹。

VS2022配置OpenGL+GLAD

2、编译GLFW源文件


(1)打开CMake。

(2)点击“Browse Source”按钮,找到OpenGL文件夹中的glfw-3.3.8文件夹并选择。再点击“Browse Build”按钮选择glfw-3.3.8文件夹中你刚才新建的build目录。之后点击“Configure”按钮。

VS2022配置OpenGL+GLAD

(3)此时会弹出一个对话框,选择你需要的编译器即Visual Studio 2022,其他地方不需改动,然后点击“finish”按钮即可。

(4)等待配置完成即通知栏出现“Configuring done”后,点击“Generate”按钮。

(5)生成成功后通知栏会出现“Generating done”字样,并且build文件夹会出现若干文件及文件夹,此时可关闭CMake。

(6)使用Visual Studio 2022打开build中的GLFW.sln工程文件。

VS2022配置OpenGL+GLAD

(7)点击“生成解决方案”按钮,等待对话框中提示全部生成成功后,关闭Visual Studio 2022。

VS2022配置OpenGL+GLAD

3、配置Visual Studio 2022目录


(1)重新打开Visual Studio 2022,点击创建新项目,新建一个C++空项目(或者打开已有项目)。

(2)Debug选x64的,然后在解决方案名称上点击右键,点击“属性”(注意不是解决方案四个字那里右键)。

(3)点击“VC++目录”,在右侧的包含目录点击下拉箭头点击“编辑”。

VS2022配置OpenGL+GLAD

(4)复制并进入计算的值下面的第一个路径,我的为“C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include”。

VS2022配置OpenGL+GLAD

(5)打开OpenGL文件夹,将C:\OpenGL\glfw-3.3.8\include的GLFW文件夹以及C:\OpenGL\glad-4.0\include的glad和KHR文件夹复制到刚才打开的C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include文件夹中。

(6)还是在VC++目录中,在右侧的库目录点击下拉箭头点击“编辑”。复制并进入计算的值下面的第一个路径,我的为“C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\lib\x64”。

(7)打开OpenGL文件夹,将C:\OpenGL\glfw-3.3.8\build\src\Debug的glfw3.lib文件复制到刚才打开的C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\lib\x64文件夹中。

VS2022配置OpenGL+GLAD

4、配置Visual Studio 2022链接器


(1)点击VC++目录下面的“链接器”中的“输入”,在右侧的附加依赖项点击下拉箭头点击“编辑”。

VS2022配置OpenGL+GLAD

(2)添加“glfw3.lib”以及“opengl32.lib”。

VS2022配置OpenGL+GLAD

最后,点击确定即可。

三、测试环境


(1)将C:\OpenGL\glad-4.0\src中的glad.c文件添加到你刚才新建的Visual Studio 2022空项目中,并新建test.cpp文件。

VS2022配置OpenGL+GLAD

(2)将下面的代码复制到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);
}

(3)点击本地Windows调试器,出现一个空的OpenGL画布,配置成功。

VS2022配置OpenGL+GLAD文章来源地址https://www.toymoban.com/news/detail-424503.html

到了这里,关于VS2022配置OpenGL+GLAD的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenGL —— 2.5、绘制第一个三角形(附源码,glfw+glad)(更新:纹理贴图)

    源码效果   C++源码        纹理图片            需下载stb_image.h这个解码图片的库,该库只有一个头文件。         具体代码:            vertexShader.glsl              fragmentShader.glsl              main.c      

    2024年02月11日
    浏览(48)
  • VS2022配置GDAL

    GDAL(Geospatial Data Abstraction Library)是一个用于处理地理空间数据的开源库。它提供了一组功能丰富的API,用于读取、写入、转换和处理各种地理空间数据格式,包括栅格数据(如卫星图像、数字高程模型)和矢量数据(如矢量地图、矢量数据集)等。GDAL是由Open Source Geospati

    2023年04月27日
    浏览(32)
  • VS2022配置MPI环境

    一、安装VS2022 下载地址:https://visualstudio.microsoft.com/zh-hans/vs/ 下载Visual Studio,Community 2022 二、安装 MPI 地址:https://www.microsoft.com/en-us/download/details.aspx?id=57467 选择两个文件下载 三、创建项目 四、配置环境 1、添加源文件,打开项目属性,配置管理器、活动解决方案平台(x64)

    2024年02月15日
    浏览(31)
  • vs2022 配置大全——超完整版

        微软Visual Studio IDE 文档 https://docs.microsoft.com/zh-cn/visualstudio/ide/?view=vs-2022 .NETCORE/NET5+Linux+docker+mysql,会员也不多就 3000多W点, 我想你们可能对 MS的技术栈有什么误解。我公司是从CORE 2X开始到5X,FRAM好久都没用了。其实现在的云,win server 是免费的。IIS自带也是免费的。 1、类

    2023年04月15日
    浏览(29)
  • C++项目环境配置(VS2022)

    一、官网下载visual studio 2022 community版本,安装时选择C++桌面应用程序开发即可,有C#需求的话可以加上.NET 二、下载插件visual assist for vs2022,(4条消息) VisualAssistforVS2022-C++文档类资源-CSDN文库 1.运行setup.exe 2.替换C:UsersUserNameAppDataLocalMicrosoftVisualStudio17.0_1f2daeb3Extensionsocz

    2024年02月13日
    浏览(46)
  • VS2022配置Opencv贴心教程

    所用VS2022是官网Professional版本,OpenCV版本是4.7.0 官网下载地址:Releases - OpenCV 选择Windows版本下载并解压到本地磁盘,建议路径不带中文,我的解压安装地址是: C:opencv 我的电脑-属性-高级系统设置-高级-环境变量-系统变量(用户变量也可以)-Path-编辑-新建,添加C:opencvbu

    2024年02月15日
    浏览(33)
  • OpenCV+VS 环境配置(以OpenCV4.7.0+VS2022环境配置为例)

    下面以4.7.0版本的OpenCV与VS2022的环境配置为例进行介绍,其他版本的OpenCV与VS的环境配置也可参考本流程。 下载网址:https://opencv.org/releases/ 2.1 系统环境变量 1.右击桌面的此电脑图标,点击 属性→高级系统属性→高级→环境变量 。 2.找到 path 双击,添加红框里面的1个路径。

    2024年02月09日
    浏览(37)
  • vs2022下配置zxing cpp环境

    下载zxing,zxing-cpp-master https://github.com/zxing-cpp/zxing-cpp Cmake生成项目,点Generate,把OpenCV_DIR修改了,NameValue没有报红就点Generate。然后点Open Project打开项目。 打开项目后,右击解决方案属性页,勾选后再生成解决方案。 全部生成成功后,新建一个文件夹zxing-cpp,下面有include和

    2023年04月25日
    浏览(28)
  • vs2022配置opencv进行监控 c++

    下载opencv文件 下载好的目录结构是 以上就是用到的文件和目录 在vs2022配置 最后:此处运行提示找不到 opencv_world480.dll 解决办法:直接从 复制到windows下

    2024年02月11日
    浏览(31)
  • windows下Cmake配置vs2022工程

    我电脑安装的是vs2022但是 cmake的gui 没有vs2022的选项 只有2019 而且选择2019 生成编译环境是错的 提示 “visual studio 16 2019 could not find any instance of visual studio.” 解决方法如下 先利用vs2022创建一个cmake项目 在项目路径下执行命令 生成如下 我们再去看cmake的配置UI上看 就已经有了我

    2024年02月12日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包