“工欲善其事,必先利其器”这句出自《论语•魏灵公》中的“工欲善其事,必先利其器。居是邦也,事其大夫之贤者,友其士之仁者。”一句话,用来做本文的标题,来谈谈目前OpenGL相关图书的个人一点看法。
OpenGL领域从来都不乏好书,在图书市场极其丰富的今天,再来撰写一本关于OpenGL的图书是需要足够的胆量和理由的。
相信很多读者都和我一样,书架上早就摆满了各种OpenGL书籍。有关于基础教程、游戏编程、计算机图形学等。从总体上分为国外和国内两大阵营。其中国外图书,原理性内容讲解的比较透彻,但缺乏本土化案例;国内的图书,书中案例主要侧重于纯编程的小示例。
很多读者在掌握了OpenGL的各种功能,如绘图、投影变换、纹理操作、显示列表等,掌握了OpenGL这件“器具”,觉得也算比较锋利了,可是拿着这件“利器”却又不知道如何下手?其结果就是一旦真正做起实际系统开发时,刚刚入门的程序员就会感觉困惑,知道要做什么,但并不知道如何去做。当遇到一个新项目的时候,我们还是会晕头转向,不知从何下手,迷茫伴随左右。
越来越多的人在踏入OpenGL大门之后,开始左右彷徨,谁能引我真正进入三维实际系统开发入门?用OpenGL开发实际三维系统,难乎?魔乎?
分析下目前OpenGL图书的主要特点是,讲解到某个函数或功能,然后示例;一本书的结果就是由多个不相关的小示例组合而成;
而我们现在要做的是,一个完整的大型实例贯穿全书,以实例讲解OpenGL的相应功能和在实际系统开发中每个函数和、功能的使用方法,做到“知其然,也知其所以然”。
是该到了以新的方式来为OpenGL写一本书了,尽管显得有点自不量力,但我还是想做个尝试!通过几个月的努力全书已全部完成,书名为《实战OpenGL三维可视化系统开发与源码精解》。该书并非作为一般普遍的基础系统教程而作,而是积日常开发项目实践的所得,重在实用与提高,而非说教。以期融会贯通,学以致用。由于精力和时间仓促,很多细节并没有做到非常的完美,也许会有许多不完善,但已基本囊括了三维可视化系统实际项目开发中的要点。不奢望它是什么开发圣经或技术宝典,只希望能给学习基于OpenGL开发三维系统中的朋友有那么一点帮助,我就满足了,自己的辛劳也没有白费,也真诚的希望能与读该书的朋友一起切磋交流、学习进步、成为朋友。
最后一点,如果你确实想成为OpenGL三维开发大师,则要亲自动手实践,实践是最重要的。切记切记!
在有了这样的想法后,就想把自己做的系统所涉及的开发的各个方面写出来,包括OpenGL专业知识和道路专业等相关知识,和有兴趣的朋友一起探讨。方便更多学习OpenGL做三维系统开发的朋友快速进入这个门槛,避开自己过去所走过的各种弯路,节省学习的成本和时间。例如光学习Oracle这样庞大的数据库就得需要好几个月甚至更长的时间,书中直接讲解我们用OpenGL开发时,Oracle数据库编程方法和实际实现代码,目的只有一个,Oracle数据库的书有很多,可以慢慢学,但先把开发所用到知识和程序实现给大家,不会影响系统开发进度,有些知识是可以在开发的过程中学习的。在程序代码中尽可能的加上详细的注释,这样程序读起来和理解起来就会容易一些。通过几个月的努力全书已全部完成,书名为《实战OpenGL三维可视化系统开发与源码精解》。该书并非作为一般普遍的基础系统教程而作,而是积日常开发项目实践的所得,重在实用与提高,而非说教。以期融会贯通,学以致用。
相信很多读者都有这样一种感觉,在做系统开发最不缺少的就是讲道理、原理的文章、书籍,象这样的文章在CKNI、维普网等期刊网是不知道有多少。更不缺少那些写的非常深奥、算法说的非常优秀,最后贴了个效果图的文章,给人的感觉就是云里雾里,看了还不如不看。我们最需要的是实际实现程序代码,请先告诉我们如何编程实现,然后再告诉我们原理、方法。