« 搜集的优良OpenGL教程自剖一下自己用的NEHE OpenGL框架(上篇) »

OpenGL常用的库

大家也知道,微软为了保DirectX,对OpenGL编程是很不友好的.所以新装系统里的OpenGL版本也就只有1.1。怎么办呢?升级?拓展?也许你不明白我在说什么,可以看看此文章,对OpenGL历史,版本问题和拓展有详细介绍:http://bbs.pfan.cn/post-275219.html。这里就不多说了。要相信没什么能打败你的热情。事实上要获得更好的支持也很简单。

另外,本日志就OpenGL编程中常用的库作一下介绍,方便下载。并不定期更新ING。

注意,每个库一般有三个不同后缀名的文件:.h .lib .dll。一般的存放顺序:

  • .h (头文件)存放在编译器安装目录(例如:.../VC98/)下的Include文件夹内;
  • .lib(程序库/模版库)存放在编译器安装目录(例如:.../VC98/)下的Lib文件夹内;
  •  .dll(动态链接库)一般你可放在系统盘的windows/system32目录(XP)下。

      当然了,可以通过编译器修改路径;或者直接放在程序文件的目录下,在编译器中设置一下(具体视编译器而定,可以自己去查查,VC中#pragma   comment(lib,"libname");也行)。

其实.lib和.dll的关系我目前还不是搞得太清楚,按我的理解,lib分为静态lib和动态lib,静态lib里面就是实现函数(譬如glulookat()等等)的二进制代码,动态lib伙同dll完成同样功能。H文件就是API表啦。具体地的可参考: 什么是lib文件,lib和dll的关系如何

好了,言归正转。

1.GL库,GLAUX库,GLU库

这个系统一般默认会有。你平时编程用到的gl,glu,aux开头的函数就是这些库里的了。如果没有可联系我或者留言让我发给你。

2.GLUT库

OpenGL Utility Tookit,十分有用,提供的API类型也比较广。反正你一定得有一个并默认存放。如果没有可联系我或者留言让我发给你。或者来此下载。注意.dll和.lib有glut版本和glut32版本,如果你是windows系统,存放glut32版本,h文件都是那个glut.h。

3.GLEW库

OpenGL Extension Wrangler Library,这就是开头提到的拓展库,有了它你就能应用OPENGL 1.1以上提供的功能。GLEW能自动识别你的平台所支持的全部OpenGL高级扩展函数。厉害吧?如果没有可联系我或者留言让我发给你。或者来此下载。同样注意windows用glew32.lib和glew32.dll。此外里面还有wglew.h,实在不知道什么用,但最好还是放上吧。

4.GLEXT

这个其实只有头文件glext.h,同样作为拓展函数的获得,虽然功能比GLEW小,但是,你看,它那么娇小哦!事实上很多时候我们只需要获得显卡上某些opengl 1.1以上的功能拓展的入口就可以了,这时候你下个与时俱进的glext.h放程序目录就够了。如果没有可联系我或者留言让我发给你。或者在此下载。同样有个wglext

5.DEVIL库

图象纹理的处理,devil的拿手好戏。这个一般针对特别应用,我以后的文章肯定会有所介绍(我用在纹理类里的)。有个对手freeImage,不过我没用过不多好评价。如果没有可联系我或者留言让我发给你。或者在此下载

6.声音引擎FMOD

还没开始用,用过再介绍。反正知道它是处理声音的强大库就可。如果没有可联系我或者留言让我发给你。或者到官网下载

...........陆续增加,持续更新(最近更新 2009. 1. 19.)

 

  • quote 1.游客
  • http://www.126.com/
  • 还是没有找到glew32.dll文件,您能发给我一份吗?邮箱是crdj008@126.com,万分感谢!!!
    zwqxin 于 2009-10-15 0:09:47 回复
    已发送....
  • 2009-10-12 14:53:41 回复该留言
  • quote 2.croma
  • >此外裡面還有wglew.h,實在不知道什麼用,但最好還是放上吧。

    wglew.h 是 OpenGL ARB 的延伸擴展跟 Windows 環境有關係的函式會放在這裡[URL][/URL]
  • 2009-10-23 19:16:35 回复该留言
  • quote 3.givan
  • 您好!
    非常喜欢您写的关于VBO的使用的文章,我在模仿您的程序时,发现我的OpenGL不支持那些函数,于是我搜啊搜,最后在官网(opengl.org)上下载到了glew扩展包,并且严格按照官网上的指南安装和配置,我的程序编译和build都没问题,但是程序执行时在glGenBuffers函数处出现这样的错误:(我的程序名).exe 中的 0x00000000 处未处理的异常: 0xC0000005: Access violation。我在该函数前面也执行了glewInit函数,而且没有返回错误。希望您能帮我指点一下,到底哪些方面有问题?您有没有其他高见。谢谢!期待您的回复(最好是邮箱noble_guang@foxmail.com)
    zwqxin 于 2011-8-1 21:23:29 回复
    用OpenGL Extensions Viewer 或者GpuCapsViewer查一查你的显卡所能支持的最高的opengl版本,如果版本小于2.0那可能就是显卡的支持问题了。尝试一下glGenBuffersEXT来代替。
  • 2011-7-30 18:01:11 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

无法看到本站图片吗?

看此日志:→显示本站图片

日历

Search

网站分类

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427

Copyright 2008-2011 ZwqXin. All Rights Reserved. Theme edited from ipati.