"Advanced Linux 3D Graphics Programming"
本书《Advanced Linux 3D Graphics Programming》旨在深入讲解在Linux环境下进行交互式三维图形编程的中级到高级概念。作者Norman Lin旨在让读者不仅能够编写自己的3D程序、库和游戏,还能分析和使用其他3D图形文本和程序。在开源的Linux世界里,理解基础概念至关重要,以便理解并可能对共享的知识和代码做出贡献。
书中的第二个目标是提供大量实际操作经验,让读者在Linux下编程实现3D图形应用。理论理解算法是一回事,实际实现、调试和优化算法则是另一回事。书中穿插了许多小型独立程序,用于演示关键的3D图形概念,帮助读者避免在复杂的3D图形世界中迷失方向,并增强开发和修改完整3D程序的信心。
第三,本书旨在教授如何开发和理解可重用的3D应用程序框架或库。除了前面提到的独立程序,书中还介绍了一个名为l3d的一般可重用C++图形库。这个库在入门级的《Linux 3D Graphics Programming》一书中被引入,并在此书中进一步发展。采用面向对象的方法,利用虚拟函数、多重继承和设计模式,使得这些库类可以直接使用,同时通过子类化开放扩展。每一章都基于前一章开发的库类构建,要么添加新类,要么以新的方式组合现有类。通过子类化,库类可以适应几乎任何硬件或软件平台或API,目前代码可以在Linux和Microsoft Windows上运行,无论是否支持硬件加速。
第四,本书强调了Linux平台作为图形编程环境的优越性。对于程序员来说,Linux是一个梦想成真的地方,所有源代码都是可用的,操作系统的所有功能都被启用,有大量的顶级软件开发工具,而且这一切都是免费的,由全球数千名程序员不断测试和改进。Linux通过开源、开放信息和开放标准赋予程序员权力。有了这个出色的发展基础,难怪包括3D图形在内的各种应用领域的程序员都纷纷转向Linux。这为Linux创造了丰富的3D库、工具和应用,使其成为一个拥有强大3D工具和软件的优秀软件开发平台,非常适合学习和实践3D图形编程。
最后,作者个人的目标是激发读者对3D图形编程的热情。通过本书,读者将体验到3D图形编程带来的兴奋与乐趣。
书中涵盖了计算机图形学的基本原理,Linux操作系统在3D图形处理中的应用,以及三维显示系统的设计和实现。此外,还介绍了Blender等特定工具和技术,并提供了详细的示例和练习,帮助读者逐步掌握3D图形编程技能。通过本书,读者将不仅能够掌握技术,还能领略到Linux平台在3D图形编程领域的卓越表现和无限可能性。