虽然我们在上一节已经配置好了glfw库,但是还需要一些操作才能使用现代OpenGL。按照惯例,先说说为什么要配置glew库。我们已经知道OpenGL只是一个规范,其本身并没有实现这些方法,具体的实现是由驱动开发商针对特定显卡实现的。所以如果我们要使用这些函数就需要手动获取这些函数。这个过程繁杂且无法实现跨平台,幸运的是有一些现成的库可以帮我们访问显卡驱动,取得对应函数的函数指针并链接起来,比如我们要使用的——GLEW。下面我们来看看怎么配置GLEW库。
首先还是下载所需的文件,官网在这里
http://glew.sourceforge.net/解压后将文件夹复制到项目文件夹的Dependencies文件夹内。(如果你不知道你自己的C++项目在哪,可以打开VS,右键项目,选择在文件资源管理器中打开文件夹,这里的Dependencies文件夹是上一节我们新建的)
如图所示
之后的操作和之前配置GLFW库是一样的。
打开VisualStudio,右键项目名,选择最下面的属性。跳出属性窗口:
这就是属性窗口 选择C/C++---->选择常规---->在附加包含目录中添加include文件夹的相对路径
$(SolutionDir)Dependenciesglew-2.1.0-win32glew-2.1.0include然后选择链接器---->常规---->附加库目录,把需要链接的库的相对路径添加进去
($SolutionDir)Dependenciesglew-2.1.0-win32glew-2.1.0libReleaseWin32下一步是选择链接器---->输入---->附加依赖项,添加glew32s.lib;(注意不要忘了加分号)
如图所示 最后,我们需要定义GLEW_STATIC
选择C/C++ ---->预处理器---->预处理器定义---->添加GLEW_STATIC;
最后我们可以用下面的代码测试我们是不是已经把GLFW和GLEW都配置好了
//注意这里包含库的顺序不能调换,否则会报错 #include#include int main(void) { GLFWwindow* window; if (!glfwInit()) return -1; window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); glewInit(); if (!window) { glfwTerminate(); return -1; } glfwMakeContextCurrent(window); while (!glfwWindowShouldClose(window)) { glClear(GL_COLOR_BUFFER_BIT); glfwSwapBuffers(window); glfwPollEvents(); } glfwTerminate(); return 0; } 看到这个窗口配置就成功了!
OK,感谢你能看到这里,希望可以对你有所帮助,下期再见。



