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库(至少目前是这样)
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值