我个人的学习习惯是先了解这个东西是具体用来干什么的,再去学习怎么使用它。按照这个顺序,让我们先来看看OpenGL到底是干什么的。
首先,OpenGL一般被认为是一个API(应用程序编程接口),包含了一系列用来操作,绘制图形,图像的函数。但其实,其本质是一个规范,它只是规定了要有哪些函数,这些函数的参数,返回值是什么。但是它自己并没有实现这些方法。真正实现这些方法的是显卡厂商。他们会在显卡的驱动中实现OpenGL规定的函数。
使用OpenGL可以干什么呢?答案是可以做与图形相关的一系列操作。比如,可以用来制作渲染器或者游戏引擎。而我本人学习的目的就是为了制作游戏引擎。你可以用它画一个三角形,摩天大厦或者是宇宙的某个角落。
Ok,那让和我来配置一下OpenGL的环境并且测试它是否可以正常工作。
Step1:配置GLFW类库
首先,下载GLFW的二进制文件。官网如下
www.glfw.org
这里选择32位或者64位的都可以,你想要针对哪个平台开发就用哪个版本。这里我选择的是32位的版本。下载后解压即可。
下一步我们开始配置。
首先打开Visual Studio ,创建一个C++空项目。右键项目名称---->在文件资源管理器中打开文件夹-->新建一个空文件夹取名Dependencies---->在该文件夹下再新建一个文件夹取名GLFW---->回到之前官网上下载的文件的文件夹---->将include和lib-vc2019(你用的VS是什么版本的就选择哪个)两个文件夹复制到新建的GLFW文件夹中。
回到VS,新建一个CPP文件。然后右键项目名称,选择属性。
(注意!在属性窗口中,确保你的配置选择的是所有配置,平台选择的是所有平台)选择C/C++ ---->常规,在附加包含目录中粘贴下面这句
$(SolutionDir)Dependencies\GLFW\include
接着,选择链接器---->常规,在附加库目录中粘贴下面这句
($SolutionDir)Dependencies\GLFW\lib-vc2019
(注意!如果你的GLFW文件夹中粘贴的是lib-vc2015文件夹或者别的文件夹,要把上面句子中的lib-vc2019对应的文件夹名)
最后,选择链接器---->输入,在附加依赖项中粘贴
glfw3.lib;opengl32.lib;
最后点击确认,关闭属性面板,我们的配置工作就完成了!
复制下面的这段代码到你的CPP文件中,测试我们是否配置成功。
#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;
}
OK,感谢你的阅读,希望可以和你一起进步。