Win10 OpenGL安装及配置

Win10 OpenGL安装及配置

Win10 OpenGL安装及配置

1.环境

Win 10 64位 VS版本:Visual Studio 2022

2.配置OpenGL所需

GLFW :glfw下载,进入官网下载GLFW并解压,这里选择的是64位的。

GLAD: glad下载,进入GLAD官网,Language选C\C++,Profile选core,version根据需要选择(4.0版本及以上),然后GRNERATE,之后选择zip文件下载并解压

3.步骤

(1)配置GLFW

进入VS2022创建项目openGL,并在项目下新建test.cpp文件;点击test右键打开项目所在文件夹,在openGL的文件夹下创建includes和libs两个文件夹;将glfw解压文件中lib-vc2022文件夹下的.lib文件拷贝进刚刚创建的libs下,同时将glfw解压文件中include下的.h文件拷贝进刚刚创建的includes下;在项目名处右键->属性->VC++目录->引用目录->编辑:粘贴项目文件夹下的.h文件所在目录地址

库目录->编辑:粘贴项目文件夹下的.lib文件所在目录

为项目添加依赖项:仍然是属性->链接器->输入->附加依赖项->编辑,将opengl32.lib,glfw3.lib,msvcrt.lib添加进去

(2)配置GLAD

将include下的glad文件夹拷贝进项目文件夹下的includes下,将src下的glad.c拷贝进项目文件夹下进入vs,添加源文件->现有项,将glad.c添加进项目

至此库文件配置完成,接下来测试是否能正常使用OpenGL

(3)测试OpenGL 测试源文件test,首先需要引用glad.h和glfw3.h文件 因为使用的是自己添加的文件,这里引用需要使用“ “而非<>,使用” “时,它会自动出现你所添加的目录

//测试代码

#include"glad/glad.h"

#include"includes/glfw3.h"

#include

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() {

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);

// uncomment this statement to fix compilation on OS X

#endif

GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "I love OpenGL", NULL, NULL);

if (window == NULL)

{

std::cout << "Failed to create GLFW window" << std::endl; glfwTerminate(); return -1;

}

glfwMakeContextCurrent(window);

glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);

if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))

{

std::cout << "Failed to initialize GLAD" << std::endl; return -1;

}

while (!glfwWindowShouldClose(window))

{

processInput(window);

glfwSwapBuffers(window);

glfwPollEvents();

}

glfwTerminate(); return 0;

}

void processInput(GLFWwindow* window)

{

if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)

glfwSetWindowShouldClose(window, true);

}

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

{

glViewport(0, 0, width, height);

}

相关推荐

塞尔达传说酥麻鳟鱼哪里捉
365beat中文版

塞尔达传说酥麻鳟鱼哪里捉

📅 07-23 👁️ 2068
移动数据流量叠加包是什么意思
365彩票网app安卓官方下载

移动数据流量叠加包是什么意思

📅 07-28 👁️ 7353
dnf哪个副职业最赚钱 DNF哪个副职业最赚钱?
365beat中文版

dnf哪个副职业最赚钱 DNF哪个副职业最赚钱?

📅 10-14 👁️ 9136
人走茶凉,另起炉灶?暴雪的离职元老们如今身在何处(上)
365彩票网app安卓官方下载

人走茶凉,另起炉灶?暴雪的离职元老们如今身在何处(上)

📅 09-17 👁️ 7637
民航联盟:飞机熄灯的原因是......(科普篇)
365beat中文版

民航联盟:飞机熄灯的原因是......(科普篇)

📅 09-23 👁️ 5329
曝保罗1年360万重返快船 或将迎生涯最后一季
365速发国际平台app下载

曝保罗1年360万重返快船 或将迎生涯最后一季

📅 08-08 👁️ 1609