最近在看3D引擎设计,看到了一些关于各种图形硬件接口还有软渲染的体系,忽然发觉自己当初在学OpenGL之前为什么没有学习图形的渲染管线,导致对opengl、d3d这些东西掌握起来要一段时间。因为渲染管线是因,opengl…是果,而我们的教学中通常不谈管线而直接把什么坐标转换、纹理采样、深度测试这样的概念突然拿出来讲,初学者很难理解为什么要有这些莫名其妙的东西?这些操作怎么来的?混合和深度测试那个操作在前?所以我认为对于图形学的教学或初学者来说,第一课要将的不是点线画法,也不是opengl介绍,而是图形的渲染管线,要先了解在计算机上面绘制图形的基本思路,和硬件绘制他的基本步骤,然后按照这个管线一步步解释其中的关键技术,这样你才能知道为什么要坐标变换,才能知道电线画法在那个步骤被真正应用。心中牢记管线,我们才能把所有的硬件接口(opengl、d3d。。。)有一个全局的认识,否认学习他们就是盲人摸象,其实了解了管线,就会发现opengl和d3d就是为了帮助硬件实现这个管线而给程序员的一个操纵控制和数据的方式而已,学起来会轻松多了。
所以我今天画了一个计算机图形学的渲染管线图,主要以opengl的方式进行解释,有错误之处敬请指出。