2023/5/22
下载GLFW
1、在官网中下载GLFW的源码版本
2、将下载的压缩包解压
3、在官网中下载安装对应系统二进制版本CMake的安装包,可以直接安装
4、将源路径设置为解压后GLFW的路径,导出路径为新生成的build文件夹
5、点击Configer
6、等待Configer完成后,点击Generate
7、在导出的build文件夹中找到并打开GLFW.sln文件,右键点击glfw,然后将其设置为启动项目后进行Debug
8、在build/src/Debug目录下找到glfw3.lib和glfw3.pdb文件
9、自己新建一个存储第三方库的文件夹如OpenGL_VS,在文件夹中新建一个文件夹libs,将上一步中的glfw3.lib和glfw3.pdb装入libs文件夹中
10、在之前第四步解压后的glfw文件夹中找到include文件夹,将其移动到OpenGL_VS目录下
下载GLAD
1、在GLAD的在线服务中下载,注意Language、Profile和Options的选择,然后点击GENERATE
2、将下载的文件解压出来将include文件夹中的glad文件夹和KHR文件夹移动到下载GLFW时建立的OpenGL_VS/include文件夹中,将src文件夹中的glad.c文件移动到OpenGL_VS文件中
在VS中配置GLFW和GLAD
1、右击项目,打开属性,注意左上角的配置是选择Debug
2、将包含目录设置为include的路径,将库目录设置为libs的路径(include和libs都是之前在OpenGL_VS中建立的文件夹)
3、在链接器的输入中,给附加依赖项中添加上opengl32.lib和glfw3.lib,然后点击应用
测试库是否添加上
#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <iostream>
void processInput(GLFWwindow* window);
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);
#endif
GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL);
if (window == NULL)
{
std::cout << "Failed to create GLFW window" << std::endl;
glfwTerminate();
return -1;
}
//GLFW将窗口的上下文设置为当前线程的上下文
glfwMakeContextCurrent(window);
//GLAD
// glad: 加载所有OpenGL函数指针
if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
{
std::cout << "Failed to initialize GLAD" << std::endl;
return -1;
}
// 渲染循环
while (!glfwWindowShouldClose(window))
{
glClearColor(0.2f, 0.3f, 0.3f, 1.0f); //状态设置
glClear(GL_COLOR_BUFFER_BIT); //状态使用
processInput(window);
// glfw: 交换缓冲区和轮询IO事件(按键按下/释放、鼠标移动等)
glfwSwapBuffers(window);
glfwPollEvents();
}
// glfw: 回收前面分配的GLFW先关资源.
glfwTerminate();
return 0;
}
void processInput(GLFWwindow* window)
{
if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS) //摁Esc键退出
glfwSetWindowShouldClose(window, true);
}
在刚才的项目中新建一个main.cpp文件,添加以上代码,看是否能够运行,运行结果如下: