很多大学计算机专业都开设了《计算机图形学》课程,网上也有很多这类书籍销售,但是在这里我想对这些书籍发表一下看法。计算机图形学是发展较早的一门学科,但是显卡和opengl图形库是在它之后出现的,因此很多书籍还是按照最早的教材来编排,并且还掺杂了Opengl的内容,让读者误认为Opengl和显卡硬件就是完全按照书籍中讲的来实现。
比如《计算机图形学 第四版 Donald Hearn》第4、5章先讲opengl,第6章第一句就是“本章讨论opengl设备级实现算法”,完全让人大跌眼镜,第6章就是最古老的图形学算法,用CPU实现的,是串行的算法(从它的例子很容易判断);而opengl设备(显卡)是通过并行流水线实现显示的,是并行的算法。这种不严谨的描述完全误导了读者。如果只想学习opengl第6章完全可以忽略。
上面只分析了一本书籍,其实在很多《计算机图像学》书籍中也有类似的现象,把最早的知识拷贝过来,但是不说明它的实现背景及与当前最新显卡技术之间的关系。让读者感到迷惑不解。
也许有读者会问,我就想自己编程实现图形的绘制功能,是不是只能用书本上的串行方法?不是的。现在的GPU已经可以进行通用计算了,可以自己编程实现图形的并行显示。因此经典的串行方法没有多大的应用价值。