基于Qt和GLSL的着色器例子
我的计算机换成新的了,可以支持OpenGL2.0以及以上的规范,这样我开始正式涉足OpenGL高级的内容了。目前我的OpenGL基础库是Qt,它有完备的功能,以及对OpenGL一层好的封装,所以用它来开发基于OpenGL的应用程序非常合适。下面是我就来介绍一下如何开发基于Qt和GLSL的程序。
GLSL是在OpenGL2.0时开始引入的一种语言,它可以让开发者定制自己的着色方式,而不是像原来一样走固定渲染管线。我们知道如果要达到一些色彩的渲染效果,需要一大堆以gl开头的函数,如glLightfv()、glMaterialfv()、glFogv()等等,而使用GLSL,则可以很简单地使用OpenGL的着色语言来达到上述函数的效果,有时候使用上述函数无法达到的效果,GLSL都可以做到。使用GLSL还有一个好处就是如果需要在运行时改变渲染效果,那么使用GLSL是非常方便的,而OpenGL2.0以前的那些函数可能因为需要调换次序等原因无法做到这样的效果。综上所述,GLSL对于开发现代应用程序还是非常有用的。
演示程序下载地址:这里
源代码下载地址: