首页 > 其他 > 详细

OpenGL4.x学习之开发环境的选择

时间:2014-02-09 15:55:11      阅读:380      评论:0      收藏:0      [点我收藏+]

OpenGL4.x学习之开发环境的选择

 

       新的一年到了,在这里祝愿大家马到成功!

       去年学习了一些GLSL的知识,主要是OpenGL(ES)2.0相关的,并且写了几篇文章:

探究OpenGL光照模型的着色器实现

QtGraphics-View框架和OpenGL结合详解

QtOpenGLGLSL以及QtGraphics-View框架结合

基于QtGLSL的着色器例子

编写基于QtGLSL程序需要注意的几点

但是OpenGL发展快,知识点很多,我自认为学了这一点知识并不够,于是花了一段时间读了几本OpenGL编程书籍,包括了《OpenGL ES2.0 Programming Guide》以及《OpenGL超级宝典(第六版)》。但是看的书总归还要实践才行,于是过了年后我尝试着写一些OpenGL的程序。首先我开始研究可编程渲染管线和OpenGL4.x。

       从OpenGL3.2开始,固定渲染的功能逐渐地被废弃,可编程渲染成为了主角,为此我们也必须跟上来,学习OpenGL可编程渲染部分。不过虽然说固定渲染功能被废弃了,有些内容还真的必须是固定渲染流程,没法走可编程渲染。比如说栅格化(Rasterization)和帧缓存(一说帧缓冲区)的操作(Framebuffer operations),在现阶段无法做到可编程。直到OpenGL4.4,着色器的种类增加到了6个。它们分别是顶点着色器、分格化控制着色器(Tessellation control shader)、分格化估值着色器(暂译)(Tessellation evaluation shader)、几何着色器(Geometry shader)、片断着色器以及计算着色器(Compute Shader)。除了顶点着色器和片断着色器这两个我们所熟知的外,另外四个是在OpenGL3.2版本后依次被引入的。下面是一个小的表格说明了这一点:

着色器

OpenGL版本

顶点着色器(Vertex shader)

>=2.0

片断着色器(Fragment shader)

>=2.0

几何着色器(Geometry shader)

>=3.2

分格化控制着色器(Tessellation control shader)

>=4.0

分格化估值着色器(Tessellation evaluation shader)

>=4.0

计算着色器(Compute Shader)

>=4.3

       乍一看学这些着色器的知识点肯定很多,实际上这些着色器是用的是统一的语法,它就是GLSL。OpenGL3.2以后GLSL的一些语法格式和OpenGL(ES)2.0的语法稍微有些不一样,这点需要注意。

       大多数人应该会使用Visual Studio开发OpenGL应用程序。于是如何开发OpenGL4.x应用就成了一个问题,因为微软的OpenGL兼容驱动只解析OpenGL1.1规范的函数。幸运的是sourceforge上的项目glew可以帮助我们解析以后版本的OpenGL函数。而glut是老牌的OpenGL开发库,因此glut+glew成为了大多数人的选择,另外可能有些人选择MFC+ glew+wgl,这也是可以的。

       不过跨平台开发库Qt给了我们另外的选择。Qt自从5.0以来,对OpenGL的支持越来越强,开发基于OpenGL的应用越来越容易,这其中KDAB功不可没。事实上KDAB也写了若干有关Qt+OpenGL开发的博客,大家可以访问下面网站看看:

http://www.kdab.com/

       对于自己,由于有Qt开发经验,因此使用Qt会是我的优先选择。以后的文章我会用Qt搭建一个简易的OpenGL4.x框架,在这个框架下探究OpenGL4.x开发技术。

OpenGL4.x学习之开发环境的选择

原文:http://blog.csdn.net/gamesdev/article/details/18986265

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!