vs2022 配置opengl

 最近在研究如何打开obj文件,发现需要用到opengl的库。

首先,当然要配置要环境。

废话不多说,开始实践:

在 Visual Studio 2022 中配置 OpenGL 环境,主要需要准备GLFW(窗口管理)GLEW/GLAD(OpenGL 函数加载),并正确配置项目属性。以下是详细步骤:

一、准备工具库

1.  下载 GLFW(窗口创建与输入处理)
  • 官网:GLFW 官网
  • 下载预编译包:选择Windows 64-bit版本(如glfw-3.4.bin.WIN64.zip)。
  • 当然,按需下载即可。
2. 下载 GLAD(OpenGL 函数加载器)
  • 在线生成:GLAD 生成器
    • 配置:LanguageC/C++APIgl4.6(或更高),ProfileCore,勾选Generate a loader,点击GENERATE下载压缩包。

二、配置项目目录结构

建议在项目中创建以下文件夹,统一管理库文件:

你的项目文件夹/
├── include/       # 头文件目录
│   ├── GL/        # GLAD/GLEW头文件
│   └── GLFW/      # GLFW头文件
├── lib/           # 库文件目录(.lib)
│   └── x64/       # 64位库文件
└── src/           # 源代码(.cpp)
1. 复制头文件
  • GLFW 头文件:将glfw-3.3.8.bin.WIN64/include/GLFW文件夹复制到include/下。
  • GLAD 头文件:将glad/include/GLKHR文件夹复制到include/下。
2. 复制库文件
  • GLFW 库文件:将glfw-3.3.8.bin.WIN64/lib-vc2022/glfw3.lib(静态库)或glfw3dll.lib(动态库)复制到lib/x64/下。
  • GLAD 库文件:GLAD 无需.lib,直接将glad/src/glad.c添加到项目中。
3. 复制动态链接库(DLL)

若使用动态库(如glfw3dll.lib),需将对应的.dll文件(如glfw3.dll)复制到项目的可执行文件输出目录(通常是x64/Debug/x64/Release/)。

三、Visual Studio 2022 项目配置

1. 创建新项目
  • 打开 VS2022 → 创建空项目(Empty Project) → 选择 C++ 语言,设置项目名称和路径。
2. 配置项目属性

右键项目 → 属性(Properties),确保平台选择x64(因我们下载的是 64 位库)。

(1)配置包含目录(头文件路径)
(注:此时配置属性下面还没有C++,后面建了cpp文件后就会有,到时再来添加头文件的路径)
  • 路径:配置属性 → C/C++ → 常规 → 附加包含目录
  • 添加:$(ProjectDir)include(即项目下的 include 文件夹)。
(2)配置库目录(.lib 路径)
  • 路径:配置属性 → 链接器 → 常规 → 附加库目录
  • 添加:$(ProjectDir)lib\x64
(3)链接库文件(指定要链接的.lib)
  • 路径:配置属性 → 链接器 → 输入 → 附加依赖项
  • 添加以下内容(根据使用的库选择):
    glfw3.lib        # GLFW静态库
    opengl32.lib     # Windows自带的OpenGL库(必须)

四、测试代码

创建main.cpp,粘贴以下测试代码(使用 GLAD+GLFW):

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

void framebuffer_size_callback(GLFWwindow* window, int width, int height) {
    glViewport(0, 0, width, height);
}

void processInput(GLFWwindow* window) {
    if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
        glfwSetWindowShouldClose(window, true);
}

int main() {
    // 初始化GLFW
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

    // 创建窗口
    GLFWwindow* window = glfwCreateWindow(800, 600, "OpenGL Test", 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
    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) {
        std::cout << "Failed to initialize GLAD" << std::endl;
        return -1;
    }

    // 渲染循环
    while (!glfwWindowShouldClose(window)) {
        // 输入处理
        processInput(window);

        // 渲染
        glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);

        // 交换缓冲区和轮询事件
        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    // 清理资源
    glfwTerminate();
    return 0;
}

源文件下添加  glad.c           # GLAD需将src/glad.c添加到项目中(直接拖入VS即可)

五、运行测试

  • 确保项目平台为x64,选择DebugRelease模式。
  • 点击运行,若弹出一个青绿色窗口,说明配置成功!
复杂几何的多球近似MATLAB类及多球模型的比较 MATLAB类Approxi提供了一个框架,用于使用具有迭代缩放的聚集球体模型来近似解剖体积模型,以适应目标体积和模型比较。专为骨科、生物力学和计算几何应用而开发。 MATLAB class for multi-sphere approximation of complex geometries and comparison of multi-sphere models 主要特点: 球体模型生成 1.多球体模型生成:与Sihaeri的聚集球体算法的接口 2.音量缩放 基于体素的球体模型和参考几何体的交集。 迭代缩放球体模型以匹配目标体积。 3.模型比较:不同模型体素占用率的频率分析(多个评分指标) 4.几何分析:原始曲面模型和球体模型之间的顶点到最近邻距离映射(带颜色编码结果)。 如何使用: 1.代码结构:Approxi类可以集成到相应的主脚本中。代码的关键部分被提取到单独的函数中以供重用。 2.导入:将STL(或网格)导入MATLAB,并确保所需的函数,如DEM clusteredSphere(populateSpheres)和inpolyhedron,已添加到MATLAB路径中 3.生成多球体模型:使用DEM clusteredSphere方法从输入网格创建多球体模型 4.运行体积交点:计算多球体模型和参考几何体之间的基于体素的交点,并调整多球体模型以匹配目标体积 5.比较和可视化模型:比较多个多球体模型的体素频率,并计算多球体模型与原始表面模型之间的距离,以进行2D/3D可视化 使用案例: 骨科和生物力学体积建模 复杂结构的多球模型形状近似 基于体素拟合度量的模型选择 基于距离的患者特定几何形状和近似值分析 优点: 复杂几何的多球体模型 可扩展模型(基于体素)-自动调整到目标体积 可视化就绪输出(距离图)
### 如何在 Visual Studio 2022 中设置 OpenGL 开发环境 #### 创建项目 为了开始配置,在Visual Studio 2022中创建一个新的C++控制台应用程序项目[^1]。 #### 下载并安装必要的工具包 对于OpenGL开发来说,除了基本的Visual Studio C++工作负载外,还需要GLFW、GLEW以及可能的GLAD这样的第三方库来辅助图形编程。这些库可以从各自的官方网站获取最新版本[^2]。 #### 配置项目属性 完成上述操作之后,需调整项目的编译器和链接器选项以便能够找到所下载的头文件与静态/动态链接库。这通常涉及到修改`VC++目录`下的`包含目录`和`库目录`路径,并向`链接器->输入`中的`附加依赖项`添加相应的`.lib`文件名。 #### 编写测试代码验证配置成功与否 最后一步是在源码里加入简单的绘图指令以确认一切正常运作。下面给出了一段用于初始化窗口并绘制一个三角形的小例子: ```cpp #define GLEW_STATIC #include <glew.h> #include <glfw3.h> int main(void) { GLFWwindow* window; /* 初始化GLFW库 */ if (!glfwInit()) return -1; /* 创建一个窗口化渲染上下文 */ window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); if (!window) { glfwTerminate(); return -1; } /* 设置当前线程的上下文*/ glfwMakeContextCurrent(window); // 初始化GLEW glewExperimental = GL_TRUE; GLenum err = glewInit(); if (err != GLEW_OK) std::cout << "Failed to initialize GLEW." << std::endl; while (!glfwWindowShouldClose(window)) { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_TRIANGLES); glVertex2f(-0.5,-0.5); glVertex2f( 0.5,-0.5); glVertex2f( 0.0, 0.5); glEnd(); /* 交换缓冲区并处理事件 */ glfwSwapBuffers(window); glfwPollEvents(); } glfwDestroyWindow(window); glfwTerminate(); } ``` 通过以上步骤,可以顺利地在Visual Studio 2022上搭建起适合于学习或小型项目使用的OpenGL开发平台。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值