虽然我们在上一节已经配置好了glfw库,但是还需要一些操作才能使用现代OpenGL。按照惯例,先说说为什么要配置glew库。我们已经知道OpenGL只是一个规范,其本身并没有实现这些方法,具体的实现是由驱动开发商针对特定显卡实现的。所以如果我们要使用这些函数就需要手动获取这些函数。这个过程繁杂且无法实现跨平台,幸运的是有一些现成的库可以帮我们访问显卡驱动,取得对应函数的函数指针并链接起来,比如我们要使用的——GLEW。下面我们来看看怎么配置GLEW库。

首先还是下载所需的文件,官网在这里

http://glew.sourceforge.net/

解压后将文件夹复制到项目文件夹的Dependencies文件夹内。(如果你不知道你自己的C++项目在哪,可以打开VS,右键项目,选择在文件资源管理器中打开文件夹,这里的Dependencies文件夹是上一节我们新建的)

如图所示

之后的操作和之前配置GLFW库是一样的。

打开VisualStudio,右键项目名,选择最下面的属性。跳出属性窗口:

这就是属性窗口

选择C/C++---->选择常规---->在附加包含目录中添加include文件夹的相对路径

$(SolutionDir)Dependencies\glew-2.1.0-win32\glew-2.1.0\include

然后选择链接器---->常规---->附加库目录,把需要链接的库的相对路径添加进去

($SolutionDir)Dependencies\glew-2.1.0-win32\glew-2.1.0\lib\Release\Win32

下一步是选择链接器---->输入---->附加依赖项,添加glew32s.lib;(注意不要忘了加分号)

如图所示

最后,我们需要定义GLEW_STATIC

选择C/C++ ---->预处理器---->预处理器定义---->添加GLEW_STATIC;

最后我们可以用下面的代码测试我们是不是已经把GLFW和GLEW都配置好了

//注意这里包含库的顺序不能调换,否则会报错
#include <gl/glew.h>
#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);glewInit();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,感谢你能看到这里,希望可以对你有所帮助,下期再见。

从零开始的OpenGL之路(1)——配置GLEW相关推荐

  1. 从零开始的OpenGL之路(0)——OpenGL介绍与环境配置

    我个人的学习习惯是先了解这个东西是具体用来干什么的,再去学习怎么使用它.按照这个顺序,让我们先来看看OpenGL到底是干什么的. 首先,OpenGL一般被认为是一个API(应用程序编程接口),包含了一 ...

  2. Windows7+VS2012下OpenGL 4的环境配置

    系统环境 Windows 7 Ultimate x64,Visual Studio Ultimate 2012 Update 4,和一块支持OpenGL 4.x的显卡. 准备工作 首先用GPU Cap ...

  3. OpenGL C#绘图环境配置

    OpenGL C#绘图环境配置 OpenGL简介 OpenGL作为一种图形学编程接口已经非常流行, 虽然在大型游戏方面DirectX有一定的市场占有率, 但由于OpenGL的开放性,可移植性等优点,O ...

  4. vs2015版本以上 配置glew

    不管是glew官网下载,还是其他人提供的资源,始终无法直接配置到vs编译器中,会出现无法解析的外部符号__iob_func的问题, 这是因为新版vs把函数名做了改动,即VS2015以上V中__iob_ ...

  5. 从零开始学习OpenGL ES之五 – 材质

    从零开始学习OpenGL ES之五 – 材质 作者: iPhoneGeek 爱疯极客 09-Jan-10 iPhone Development 浏览次数: 411 |  评论 ↓ Tweet Shar ...

  6. OpenGL vscode 安装与配置

    OpenGL vscode 安装与配置 一.在vscode中配置好C++的环境 这个看下网上的教程 二.下载cmake CMake 下载好后点击安装,安装过程中选择add path to all us ...

  7. 填坑之一 从零开始的神棍之路

    从零开始的神棍之路 Thinking Level:★★★★★ Description: ggwdwsbs最近被Zeratul和Kyurem拉入了日本麻将的坑.现在,ggwdwsbs有13张牌,Kyur ...

  8. 微信转发器!记录我的从零开始的hook之路!

    微信转发器!记录我的从零开始的hook之路! 前言 明确需求目的 学习记录 说说功能 支持的 已知缺点 可拓展点 适用版本 结语 使用方法 前言 由于**女朋友**有时给我发送消息无法及时回复,女朋友 ...

  9. 三维图形编程OpenGL的glut文件配置(vs2022)

    三维图形编程OpenGL的glut文件配置(vs2022) 在配置文件时遇到一点小问题折腾了很久,这里给大家分享一下. 1.下载glut文件库 下载好后如图 2.找到Microsoft Visual ...

最新文章

  1. java 字符串驻留_java String 以及字符串直接量 与 字符串驻留池 ...
  2. Mybatis常见面试题总结(详细)
  3. Hadoop Yarn生产环境核心配置参数
  4. 删除数据表和清空数据表的内容(保存表结构)的SHELL脚本
  5. Linux shell编程学习笔记-----第十六章
  6. 未签名的应用程序请求对系统进行无限制访问_OWASP Top 10 2017 10项最严重的 Web 应用程序安全风险 (完结篇)...
  7. Linux服务器配置——安装CentOS以及源配置
  8. 我喜欢的学科计算机 英文作文,我喜欢的学科写英语作文40字
  9. 《焦虑心理学》——压力感篇
  10. TB6612FNG与直流电机控制教程
  11. 纯CSS3制作逼真的iphone 6手机模型
  12. 知情人士:比特大陆创始人吴忌寒离开核心纯属谣言
  13. buuctf-Blacklist
  14. 读《AMT前沿论丛》杂志有感
  15. iPhone开发秘笈pdf
  16. NETFLOW 与 SNMP两种不同的网络监控方法
  17. Andriod studio 如何使用本地grade
  18. OBS云插件,智播,智慧主播最佳选择
  19. OPPO云数据库访问服务技术解析
  20. JAVA圣诞代码_[Java教程]【Merry Christmas】圣诞节,给博客添加浪漫的下雪效果!...

热门文章

  1. 【涵子来信Linux百宝书】——Linux实体机简约安装教程
  2. C语言实现简单的计算器(循环输入,加减乘除法可选)
  3. monkey事件 -- 11种事件(三)
  4. zip压缩包解密神器,zip压缩包权限限制怎么解除?
  5. 波司登云原生微服务治理探索
  6. 如何在 R 中使用 Fisher 的最小显着性差异 (LSD)
  7. MySQL数据库从这里开始
  8. chatgpt谷歌插件
  9. 再谈winform无边框窗体的鼠标托动与缩放
  10. ZeroMemory、memset 和 “={0}” 三者用于清零操作的区别