OpenGL环境搭建

420 阅读2分钟

需要支持OpenGL的窗口框架来绑定OpenGL中的视口以此来呈现图形,这里选择使用GLFW,除此之外也使用其他框架

第一步:GLFW环境搭建

一.下载GLFW

[官网链接](OpenGL 库 |GLFW) image.png 下载预编译的二进制文件

image.png 解压后目录层级

image.png

二.VS项目配置GLFW

步骤
1.右键项目属性->VC++目录->包含目录->添加glfw-3.4下include目录
2.链接器->常规->附加库目录->添加lib-vc2022目录
3.链接器->输入->附加依赖项->写入glfw3.lib----------(就是lib-vc2022目录下链接库)

补充说明:
包含目录仅对本项目有效,外部包含目录是对整个解决方案有效
附加库目录仅对本项目有效,库目录是对整个解决方案有效

步骤3也可以不进行配置附加依赖项,可以使用编译指示
#pragma comment(lib,"glfw3.lib")

三.写入基本GLFW代码

#include <GLFW/glfw3.h>

#pragma comment(lib,"glfw3.lib")

int main()
{
	if (!glfwInit())return -1;

	GLFWwindow* win = glfwCreateWindow(400, 400, u8"实例", NULL, NULL);
	if (!win)
	{
		glfwTerminate();
		return -1;
	}
	glfwMakeContextCurrent(win);
	while (!glfwWindowShouldClose(win))
	{
		glfwSwapBuffers(win);
		glfwPollEvents();
	}
	return 0;
}

image.png 运行后跟随控制台,取消不带控制台可以使用杂注
#pragma comment(linker, "/subsystem:windows /entry:mainCRTStartup")



OpenGL不一个API,是一个规范包含API的功能描述,已经函数的参数规范,具体内部实现,是由显卡制造商来具体实现的

需要找到显卡驱动中的函数指针,然后就可以使用OpenGLAPI

OpenGL的函数的具体实现都存在显卡驱动中,要想调用函数指针(函数声明,加载函数)所有函数指针都需要加载(Windwos)加载函数指针的方式 (动态链接库) 和Linux不一样是基于平台的。

直接使用现成的函数指针库,如GLAD,提供在线生成源码和头文件,不用部署链接库

第二步:下载GLAD函数指针库

glad官网

image.png

在VC++目录中配置glad的头文件后,将生成的c代码加入到项目中

注意:glad的头文件要在glfw之上

if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) 
{
    std::cout << "Failed to initialize GLAD" << std::endl;
    return -1;
}