【OpenGL4.6】VS2022安装OpenGL4.6的全过程

2024-05-09 07:12

本文主要是介绍【OpenGL4.6】VS2022安装OpenGL4.6的全过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、说明
  • 二、vs2022环境安装
    • 2.1. 安装vs2022
    • 2.2 为OpenGL专门建立目录
  • 三、下载安装cmake,用于编译源代码
    • 3.1 为什么安装Cmake
    • 3.2 下载和安装Cmake
  • 四、下载安装glfw,用于窗口界面
    • 4.1 设置glfw库,用于创建窗体
    • 4.2 如何使用glfw库?
  • 五、下载glad支持
    • 5.1 glad是什么?
    • 5.2 下载
  • 六、配置OpenGL项目
    • 6.1 配置步骤总览
    • 6.2 集中部署OpenGL的项目环境
    • 6.3 如何配置glad
    • 6.4 配置glfw库:
  • 7 测试代码

一、说明

我这里用python完成OpenGL的开发,目前存在一个问题是:OpenGL4.6到目前还没看到python版本。有时需要OpenGL4.6,不能再等,于是只能安装一个C++版的OpenGL4.6试用。以下为安装过程全记录。

二、vs2022环境安装

2.1. 安装vs2022

  • 1首先进入微软的visualstudio主页

https://visualstudio.microsoft.com

  • 下载一个visual studio community并运行
  • 选择安装 在这里插入图片描述
    我按自己的需要选择python、c++、c#桌面、VC++;按“继续”开始安装。
    在这里插入图片描述
    注意:第一次安装后启动,需要注册用户,建议保存注册账号,以后永远可用。

2.2 为OpenGL专门建立目录

为了提高效率,建一个VStudent作为所有VC项目的总目录,然后建立一个AboutOpenGL,在AboutOpenGL下生成VC+opengl的项目,如下:
在这里插入图片描述
此图后文中还要用到。

三、下载安装cmake,用于编译源代码

3.1 为什么安装Cmake

当然,VC++内部有Cmake,为什么要安装一个?
因为VC++内的Cmake为微软产品配套,对于OpenGL这种开源项目,就不能用微软的Cmake,而是Kitware公司的产品。
CMake使用平台无关的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用项目文件,比如可以生成vs项目文件或者makefile。 CMake工具套件由Kitware公司创建,以满足ITK和VTK等开源项目对跨平台构建环境的需求。

3.2 下载和安装Cmake

如果用glfw源码编译就安装Cmake,如果不用源码,可以不安装Cmake。

https://cmake.org/download/

在这里插入图片描述https://github.com/Kitware/CMake/releases/download/v3.24.2/cmake-3.24.2-windows-x86_64.msi
双击msi文件,安装。

  • 要选择系统环境路径变量path。
    在这里插入图片描述
    在这里插入图片描述

四、下载安装glfw,用于窗口界面

4.1 设置glfw库,用于创建窗体

https://www.glfw.org

  • 我们选择使用编译好的二进制库:
  • 在这里插入图片描述

4.2 如何使用glfw库?

glfw不属于微软默认系统,需要手工添加到你的具体项目中。
下载的glfw-3.4.bin.WIN64.zip是一个多版本并存的包,展开以后挑选相应版本添加到你的opengl项目中:
在这里插入图片描述
解压后放到文件夹里面备用opengl32.lib和include

五、下载glad支持

5.1 glad是什么?

glad是最重要的OpenGL库,包括GL_CORE核心库的调用。我们这里下载glad是include文件,不是对全部opengl的lib的安装,因为一般的win10系统,凡是安装了Nvidia驱动,必然安装opengl32.lib,因此不必单独安装opengl32了。

5.2 下载

https://glad.dav1d.de/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
只要单击对应压缩文件就可以下载了。下载后解压。

六、配置OpenGL项目

6.1 配置步骤总览

在VC下使用OpenGL,属于对三方代码的管理,因此,围绕OpenGL的配置过程,实际上是对项目的一种定制。这里的定制需要几个方面:

  • 1 生成一个项目地址,建议固定一个OpenGL项目地址,内含多个OpenGL项目,这样可以集中配置环境。
  • 2 配置glad,opengl核心库
  • 3 配置glfw,opengl界面

6.2 集中部署OpenGL的项目环境

在这里插入图片描述

1)在D盘生成一个Vstudent总目录,该目录存放许多不同的C++项目
2)在D盘的Vstudent目录下,生成AboutOpenGL目录,在该目录下生成具体OpenGL项目。
3)用VC++管理平台生成第一个OpenGL项目:firstOpenGL
4)在AboutOpenGL安置OpenGL的环境支持。
5)在VC开发界面配置include、lib。

先给出测试代码,建议边配置,边调试代码,将该代码调通了,安装也就成功了。

#include <glad/glad.h>  
#include <GLFW/glfw3.h>
#include <glad.c>class Window
{public:GLFWwindow* win = 0;int w = 0; int h = 0;char* title = 0;char* glsl_version = (char*)"#version 330";int SwapInterval = 1;static void glfw_error_callback(int error, const char* description){fprintf(stderr, "Glfw Error %d: %s\n", error, description);}static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods){if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) glfwSetWindowShouldClose(window, GLFW_TRUE);}static void setup_opengl_viewport(int width, int height){glViewport(0, 0, width, height);}static void framebuffer_size_callback(GLFWwindow* window, int width, int height){setup_opengl_viewport(width, height);}Window(char* title, int w = 300, int h = 300, int OpenGLVersionMajor = 4, int OpenGLVersionMinor = 6) : title(title), w(w), h(h){glfwSetErrorCallback(glfw_error_callback); if (!glfwInit()) { return; }glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, OpenGLVersionMajor); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, OpenGLVersionMinor);glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE); // GLFW_OPENGL_COMPAT_PROFILE GLFW_OPENGL_CORE_PROFILE// glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // for mac os it's neededglfwWindowHint(GLFW_RESIZABLE, GL_TRUE);// glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, GL_TRUE); // for debugwin = glfwCreateWindow(w, h, title, NULL, NULL); if (!win) { printf("Failed to create GLFW window\n"); close(-1); return; } glfwMakeContextCurrent(win);if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) { printf("Failed to initialize GLAD\n"); close(-1); return; }setup_opengl_viewport(w, h);glfwSwapInterval(SwapInterval); //must be used after current context set, the default is 0, which means show the new content once available, 1 is the prefered valueglfwSetFramebufferSizeCallback(win, Window::framebuffer_size_callback); glfwSetKeyCallback(win, key_callback);//------------- opengl global settings ----------------// glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);// glBlendFunc(GL_SRC_ALPHA, GL_SRC_ALPHA); glEnable(GL_BLEND); //glEnable(GL_DEPTH_TEST);}~Window(){close(0);}int close(int r){if (win) glfwDestroyWindow(win); glfwTerminate(); return r;}};void company(){int w = 300, h = 300;Window win((char*)"Lines And Chars", w, h);while (!glfwWindowShouldClose(win.win)){glClearColor(1.0, 0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); // 填充红色背景glFlush();glfwSwapBuffers(win.win); // swap buffer to show new contentglfwPollEvents(); // response to user operations on the window, process the events by default handlers// glfwWaitEvents(); // for static rendering content}}int main()
{company();
}

6.3 如何配置glad

分两个配置:

  • include
  • lib
    1)添加包含路径:
    项目属性 - C/C++ - additional include directories:

D:\VStudent\AboutOpenGL\glad\include;D:\VStudent\AboutOpenGL\glad\src
在这里插入图片描述

2)在项目中添加glad库lib:
在这里插入图片描述

6.4 配置glfw库:

分两个配置:

  • include
  • lib
    在项目中添加glfw库:
    1)配置include路径
    项目属性 - C/C++ - additional include directories: $(SolutionDir)libs\glfw\include;
    在这里插入图片描述

2)配置lib文件
lib文件路径:
项目属性 - Linker - additional library directories: $(SolutionDir)libs\glfw\lib-vc2022;
lib文件名称
项目属性 - Linker - input - additional dependencies: glfw3.lib,opengl32.lib,user32.lib,gdi32.lib,shell32.lib
在这里插入图片描述

7 测试代码

在这里插入图片描述
表明当前安装基本正确。但中间出了一个错误,是撞运气排除的。

在这里插入图片描述
错误原因正在探索中…

这篇关于【OpenGL4.6】VS2022安装OpenGL4.6的全过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/972734

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

mac安装brew 与 HomeBrew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh >> brew_install BREW_REPO="