glew是OpenGL的图形接口,类似的有glut、glad

  • 去官网下载文件

  • 解压文件到本地

我下载到的是glew2.1,解压到项目目录中


把目录名glew-2.1.0 改为 GLEW (方便以后升级版本)

  • 添加到工程

包含头文件:

添加glew32s.lib所在目录:

链接静态库glew32s.lib:

  • 增加使用宏定义

增加宏GLEW_STATIC 不然用不了。当然你也可以在代码里声明。

  • 初始化GLEW

GLEW是用来管理OpenGL的函数指针的,所以在调用任何OpenGL的函数之前我们需要初始化GLEW

glewExperimental = GL_TRUE;
if (glewInit() != GLEW_OK)
{std::cout << "Failed to initialize GLEW" << std::endl;return -1;
}

请注意,我们在初始化GLEW之前设置glewExperimental变量的值为GL_TRUE,这样做能让GLEW在管理OpenGL的函数指针时更多地使用现代化的技术,如果把它设置为GL_FALSE的话可能会在使用OpenGL的核心模式时出现一些问题。

  • 例子代码
#include <iostream>
#include <cmath>// GLEW
#define GLEW_STATIC
#include <GL/glew.h>// 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);// Set this to true so GLEW knows to use a modern approach to retrieving function pointers and extensionsglewExperimental = GL_TRUE;// Initialize GLEW to setup the OpenGL Function pointersglewInit();// Define the viewport dimensionsglViewport(0, 0, 640, 480);/* Loop until the user closes the window */while (!glfwWindowShouldClose(window)){/* Render here */glClear(GL_COLOR_BUFFER_BIT);glBegin(GL_TRIANGLES);glVertex2f(-0.5f, -0.5f);glVertex2f(0.0f, 0.5f);glVertex2f(0.5f, -0.5f);glEnd();/* Swap front and back buffers */glfwSwapBuffers(window);/* Poll for and process events */glfwPollEvents();}glfwTerminate();return 0;
}

Learn OpenGL - 使用GLEW相关推荐

  1. OpenGL SDK glew(OpenGL Extension Wrangler Library )

    现在我才知道opengl从3.0开始,所有实现全部由显卡厂商提供.而官方组织只是发布标准而已,由于没有这点儿认知,害的我到处找dll.GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口.使用 ...

  2. Learn OpenGL(七)——OpenGL中使用着色器的基本步骤及GLSL渲染简单示例

    OpenGL着色语言(OpenGL Shading Language,GLSL)是用来在OpenGL中着色编程的语言,是一种具有C/C++风格的高级过程语言,同样也以main函数开始,只不过执行过程是 ...

  3. Learn OpenGL(五)——定义自己的着色器

    定义自己的着色器 编写.编译.管理着色器是件麻烦事.在着色器的最后主题里,我们会写一个类来让我们的生活轻松一点,这个类从硬盘读着色器,然后编译和链接它们,对它们进行错误检测,这就变得很好用了.这也会给 ...

  4. OpenGL之GLEW安装

    下载链接: https://sourceforge.net/project/downloading.php?group_id=67586&filename=glew-1.5.1-win32.z ...

  5. Opengl+glfw+glew 大作业 绘制房间卧室客厅+雪花雪人

    一.开发环境说明 操作系统:windows 开发软件:Visual Studio 2017 编程语言:基于控制台下的opengl 用到的库: glfw .glew 底部提供代码下载 opengl环境配 ...

  6. OpenGL入门-glew

    1 glew简介 OpenGL Extension Wrangler Library (GLEW) 是一个跨平台的开源 C/C++ 扩展加载库.GLEW 提供了高效的运行时机制,用于确定目标平台上支持 ...

  7. Learn OpenGL (十二):投光物

    平行光 当一个光源处于很远的地方时,来自光源的每条光线就会近似于互相平行.不论物体和/或者观察者的位置,看起来好像所有的光都来自于同一个方向.当我们使用一个假设光源处于无限远处的模型时,它就被称为定向 ...

  8. Learn OpenGL (十一):光照贴图

    在着色器中使用漫反射贴图的方法和纹理教程中是完全一样的.但这次我们会将纹理储存为Material结构体中的一个sampler2D.我们将之前定义的vec3漫反射颜色向量替换为漫反射贴图. 注意samp ...

  9. Learn OpenGL (九):基础光照

    环境光照(Ambient Lighting):即使在黑暗的情况下,世界上通常也仍然有一些光亮(月亮.远处的光),所以物体几乎永远不会是完全黑暗的.为了模拟这个,我们会使用一个环境光照常量,它永远会给物 ...

最新文章

  1. 测试进口原装磁屏蔽电感 10MH的漏感以及在再生高频放大检波电路中的应用
  2. OpenCASCADE:Mac OS X平台使用Code::Blocks构建OCCT
  3. 自我总结 (三) --(Java Web学习)
  4. 使用ReportNG更好看的TestNG HTML测试报告– Maven指南
  5. java lambda 两个冒号_java lambda 表达式中的双冒号的用法说明 ::
  6. PAT1018. 锤子剪刀布
  7. php留言板入门教程,一个php留言板实例
  8. Extjs EditorGridPanel
  9. 《统计学》第八版贾俊平第十二章多元线性回归知识点总结及课后习题答案
  10. AI健身房真的存在?比炒概念更可怕的是VENTO已经做出来了
  11. 高三数学辅导:不等式、推理与证明
  12. 微信小程序和微信公众号关联
  13. python画椭圆的逻辑_Python plt画椭圆
  14. HM二次开发 - 外部程序采用socket与HM实现通信
  15. 牛刀云微信小程序完整项目教程
  16. 如何用SQL求众数和中位数
  17. 【工具】fis3 - 语法教程(1)之资源嵌入
  18. Extract temperature and bt from station of Tib
  19. 项目管理软件Microsoft Project 2019和 Visio 2019下载
  20. 快播创始人王欣再复出,创造新式播放器,看到功能后网友们沸腾了

热门文章

  1. 基于Hadoop + Hive框架进行电子商务数据分析的设计与实现
  2. Android studio画心电图,android 开发 心电图绘制
  3. 将 DTS 用于业务智能解决方案的最佳实践
  4. java 读取文件在控制台打印、将内容写入到文件
  5. 03/13 17:17:57: Launching 'app' on OPPO PBEM00. Installation did not succeed. The application could
  6. 9day 各文件的读取操作
  7. camera isp 介绍
  8. 放大功能 - 安卓R
  9. 厌倦了各种app推送广告?用RSS来订阅自己想看的内容吧
  10. 苹果x与苹果xs的区别_苹果x突然黑屏但没有关机