教程 34
GLFX,一个OpenGL效果库
原文: http://ogldev.atspace.co.uk/www/tutorial34/tutorial34.html
CSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966
理论介绍
这篇教程暂时先不继续探索OpenGL的特性和3D技术了,来介绍一下GLFX,一个OpenGL的特效库。GLFX中一个特效就是一个文本文件,里面包含多种shader和函数,使其很容易整合应用到程序中。这样就克服了glShaderSource()的限制,不需要再为每一个单独的shader阶段定义文本。否则我们要为每个shader(或者不同的buffer)使用不用的文本文件。将所有的shader放到同一个文件中将更方便shader共用自定义的结构体。另外,GLFX提供了一套简单易用的API接口来将特效文件翻译成GLSL程序,隐藏一些复杂的底层OpenGL函数。
特效文件的开发已经不是很新鲜的技术了,微软在DirectX中已经使用了很多年了。而且相信很多游戏工作室会有自己的一套特效工具,但是这种方案还没有在OpenGL中成为普遍应用的标准。这里的特效库是Max Aizenshtein开发的一个开源项目,你可以在这里找到这个项目的主页。
要安装GLFX首先得check out下载源码到本地,并在命令行中运行如下指令来构建他们:
- svn checkout http://glfx.googlecode.com/svn/trunk/ libglfx
- cd libglfx
- cmake .
- make
- make install (as root)
注意: GLFX是依赖于GLEW的,如果你的项目中已经使用了GLEW那没问题,如果没有需要看下教程2中的介绍,先安装配置好GLEW。
源代码详解
见源码和原文。