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日
    浏览(37)
  • VS2022配置GDAL

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

    2023年04月27日
    浏览(22)
  • 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日
    浏览(22)
  • 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日
    浏览(33)
  • VS2022配置Opencv贴心教程

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

    2024年02月15日
    浏览(24)
  • 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日
    浏览(21)
  • 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日
    浏览(27)
  • 超详细!SFML库vs2022配置教程

    1.官网下载SFML 官方网址:SFML  点击下载 根据自己电脑选择合适的版本下载 我的电脑是64位的   下载完成之后将文件放在一个自己方便找到的地方 2.vs2022配置     选择空项目   添加cpp源文件     附加包含目录 添加你SFML中的include路径  例如: 添加SFML中的lib文件路径 配置

    2024年02月16日
    浏览(40)
  • 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日
    浏览(22)
  • vs2022配置opencv进行监控 c++

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

    2024年02月11日
    浏览(24)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包