第一章 OpenGL和GLFW配置
1 OpenGL 和 GLFW简介
OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)
详情见:20分钟让你了解OpenGL——OpenGL全流程详细解读 - 知乎 (zhihu.com)
GLFW是一个开源的多平台库,用于桌面上的OpenGL,OpenGL ES和Vulkan开发。它提供了一个简单的 API,用于创建窗口、上下文和图面、接收输入和事件。
详情见:GLFW: 主页
2 GLFW 下载
3 项目搭建
使用 vs 创建项目,项目名为glfw
在该项目目录文件下创建Dependecies/GLFW文件夹。
GLFW文件夹中,包括inlcude文件和lib-vc2019.
其中inlude就是glfw下载列表的include(将其复制过来)
lib-vc2019则是glfw中的lib-vc2019仅保留glfw3.h。如图所示:
4 环境搭建
在glfw中创建src文件,并在src中创建application.cpp
将glfw中的示例代码复制粘贴:
#include <GLFW/glfw3.h>
int main(void)
{
GLFWwindow* window;
/* Initialize the library */
if (!glfwInit())
return -1;
/* Create a windowed mode window and its OpenGL context */
window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
if (!window)
{
glfwTerminate();
return -1;
}
/* Make the window's context current */
glfwMakeContextCurrent(window);
/* Loop until the user closes the window */
while (!glfwWindowShouldClose(window))
{
/* Render here */
glClear(GL_COLOR_BUFFER_BIT);
/* Swap front and back buffers */
glfwSwapBuffers(window);
/* Poll for and process events */
glfwPollEvents();
}
glfwTerminate();
return 0;
}
右击glfw,选中属性
a. 在C++ -> 常规 中编辑附加常规目录为:$(SolutionDir)Dependencies\GLFW\include
b. 在linker -> 常规 中编辑附加库目录为:$(SulotionDir)Dependencies\GLFW\lib-vc2019
c. linker -> input 中编辑附加依赖项为:
glfw3.lib
opengl32.lib
User32.lib
Gdi32.lib
shell32.lib
三个设置均 点击应用后生效。且在设置时注意 配置和平台的选择;
5 运行案例