OpenGL SuperBible中的glew和GLTools库
这些天开始研究OpenGL,就买了本OpenGL超级宝典和OpenGL编程指南两本书,(有人说编程指南不适合初学者,超级宝典的翻译太烂),兴高采烈地打开超级宝典的书,发现依赖了各种库,依赖glut库尚能接受,毕竟OpenGL只是负责绘制而已,glew也勉强接受,但又要有GLTools,稍微看了下,GLTools应该是超级宝典作者写的一个简单库,并用类封装了一下,这里我要吐槽的是类的命名规则!!!
OpenGL中类型名称是以GL开头的,比如GLfloat GLenum等等,而超级宝典的类命名也是以GL开头的,这,,,,鱼目混珠吗?
吐槽归吐槽,glew有官方网站,http://glew.sourceforge.net/
奇葩的GLTools已经绝迹了,有的要么只提供编译好的库,要么要积分,哼哼,本来就不是自己写的,是不是过分了,不过还好找到了。
https://blog.csdn.net/sxc1989/article/details/60584970
这篇文章的链接中有一个GLTools的git链接,如下:
https://github.com/HazimGazov/GLTools
个人更改后的GLTools
https://download.csdn.net/download/bull521/10699557
里面包含了源文件和对应的cmake文件,并没有现成的库文件,需要自行编译,我在ubuntu下尝试着编译了一下,发现GLTools.cpp第1060行和1072行有错误
稍微看了看源码才发现这个函数的返回值为GLbyte*,而作者却在这里返回了false,虽然c语言认为false == NULL == 0,不过有的编译器还是会报错的,改一下就好了,把false改为NULL或者nullptr。
另外,我发现GLTools提供的cmake文件是提供安装的,这样有一个小小的问题,就是cmake官方并没有提供对应的Find模块(即cmake查找是否存在对应库的头文件路径和源文件路径);当然,没有应该也没关系,因为我发现在ubuntu下安装的路径是/usr/include/下,也就是说,头文件是可以直接引用的,不过在编译文件时需要加上 -lgltools链接库。
另外一个解决办法就是照着官方给的CMakeLists.txt写一个只是编译的功能,然后把这个整个文件夹放到项目的根目录下
这样对于项目来说比较合适,对于单文件来说就不怎么合适了。
注意:超级宝典中的GLTools依赖的库比较多,至少需要glut(freeglut可以认为是glut的子集) glew。编程指南则只是使用了glut库(至少目前是这样)
OpenGL SuperBible中的glew和GLTools库相关推荐
- VS2015下opengl的freeglut,glew以及gltools库的配置
由于上网搜索的答案各不相同,我只是为了配置glew就花费了将近一天的时间,深深感到了不同版本的Visual studio在配置opengl库中方法各异.在这里分享一个也是上网搜索得到的Visual S ...
- VS2012+OpenGL (涵盖GLUT+GLEW+FreeGlut+GLTools) h lib 和dll文件
本人参考的是这位大神的博客:http://k57box.blog.163.com/blog/static/14226137420146144357635/(明明是个中文网站,我却要翻墙才能上) 好吧不 ...
- Mac平台配置OpenGL(glut,glew)
//oepngl库 opengl原生库 gl* 随opengl一起发布 opengl实用库 glu* 随opengl一起发布 opengl实用工具库glut glut* 需要下载配置安装 ...
- VS2017环境下配置OpenGL的简单方法(glut,glew,freeglut,gltools)
写在前面: 最近要用到OpenGL,光是在VS2015下配置就费了很大的劲,现在将我的成果直接贡献给大家,希望能为需要在VS2015下配置OpenGL的读者省去一些麻烦. 正文: 资源地址1:http ...
- VS2015配置OpenGL环境——GLUT、freeglut、glew、GLtools
说明: 1.本人的VS2015的安装路径是F:\VS2015.大家在看本教程时应根据自己的情况来操作. 2.本教程提供了配置所需的全部库文件. 库文件和测试程序下载地址: 链接:https://pan ...
- openGL使用GLFW、GLEW库绘制点
前言 openGL使用GLFW.GLEW库绘制点,下面这段代码:绘制蓝色背景,中心点是一个黄色的点,由于代码比较简单,所以我把顶点着色器和片元着色器硬编码到c++程序中.问题就在这!!!由于着色器都写 ...
- Qt中使用GLEW进行OpenGL开发
Qt中使用GLEW进行OpenGL开发(Windows平台) 为什么要使用GLEW 使用VS创建Qt项目 设置Widget 重新实现paintEngine 添加GLEW库到工程 设置OpenGL上下文 ...
- 一文搞清楚opengl、openglES、GLEW、的关系GLUT、FreeGLUT、GLFW
简要来说,opengl.openglES.GLEW这三个都是一个图形库,可以理解为是在显卡驱动上给渲染用户一个统一的API:而GLUT.FreeGLUT.GLFW这三个是用于图形开发的辅助工具库,主要 ...
- CMake编译OpenGL SuperBible 7th源码报警告
CMake编译OpenGL SuperBible 7th源码报警告 今天在另一台机器上编译CMake编译OpenGL SuperBible 7th(编程宝典)源码报警告 CMake Deprecati ...
最新文章
- 机器翻译之Facebook的CNN与Google的Attention
- 测试TI高速MOS驱动芯片 TPS28225 伴随着MOS半桥
- 常用 Linux 命令
- k-means聚类分割
- NYOJ 678 最小K个数之和
- 单击修复计算机英语怎么说,电脑选择语言方式,单击修复计算机
- python爬虫中文乱码_解决Python爬虫处理文件时候中文名称出现乱码问题
- 计算机网络中TCP属于,【填空题】TCP/IP协议将计算机网络的结构划分为应用层、传输层、网络互连层等4个层次,其中IP协议属于【1】层。...
- Netflix:当你按下“播放”的时候发生了什么?
- 使用Vue做评论+localStorage存储(js模块化)
- SPSS T检验(图文+数据集)【SPSS 017期】
- Ruby gem 更换国内源
- ArcGIS知乎干货教程大集合
- vant组件做表格_有赞团队的vant ui组件库van-field使用
- 如何修改图像尺寸?教你两招轻松修改图像宽高像素
- 让刷Q币者对爱机你无从下手
- ACM模板-f_zyj.pdf
- 并行计算与计算机集群
- mysql中锁原理及for update悲观锁的详解
- 修复Linux 的GRUB引导文件