图形和Shader技术
图形和Shader技术
- 游戏编程精粹5(最近已出版到6和7)——象其他游戏编程精粹一样非常棒。如果您正在寻找游戏编程的解决方法,您可以将它从头读到尾或作为参考。本书包括七个部分——常规编程和人工智能数学和物理学,网络和音频。这是最值得推荐的游戏编程丛书。
- ShaderX——另一个丛书。我读过前三本,当我想实现很酷的渲染效果时就会参考此书。第4和第5卷和前面几本一样棒。Wolfgang Engel写得很好,我曾在几次游戏开发者大会上听过他的演讲。这家伙知道了很多关于着色的东西。
- GPU精粹2——另一个丛书。Nvidia公司开发的好东西,在ATI硬件上也工作良好,这是一个很好的shader书书籍。它涵盖了一些很棒的技巧,能与ShaderX丛书媲美。不同与游戏编程精粹和ShaderX,此书每一页都是彩色印刷的,我可向艺术家展示这些图画书,那些艺术家通常不喜欢看那些没有精美图片的书。
- Shaders for Game Programmers and Artists ——这是我阅读的第一本有关shader的书,但我认为太浅。这本书一下子跳到了post-screen shader这个很先进的技术,然后再是更容易的shader。这本书使用的是ATI Render Monkey软件,我不喜欢这个软件,因为导出的东西不能使用(我需要的是.fx格式的文件)。但它仍然是一本很好的shader书,对艺术家,初学者或只想粗略了解shader的人很有用。
- Programming Vertex & Pixel Shaders ——对于想深入学习shader技术的人来说,这本书是最好最完整的,它比前面几本都难,有时用了太多的数学知识,但这是值得的,你将了解所有基本的着色技术。这也是Wolfgang Engel写的另一本书(ShaderX系列也是他写的,但这本更难)。
人工智能编程
- AI Game Engine Programming——这本书深入讨论了很多第一人称射击游戏的人工智能问题和有用的技巧,不仅涉及人工智能,而涉及如何使用脚本(Lua),如何编写各种状态机以及神经网络。随书光盘不仅包含了所有的源代码和数据,而且还有很多按类别排序有用的网页书签。我喜欢这一点。
- Programming Game AI by Example——这本书更适合初学者和中级程序员。它仍是本好书,但它只解释了如何开始人工智能,当你准备深入下去时,这本书却结束了。这本书由数学和物理学开始并很好地解释了它们。接着讨论状态驱动设计和游戏代理。它还涉及路径寻找,模糊逻辑和脚本。这本书是由www.ai - junkie.com网站的建设者写的,写得真的很好,是一本很好的入门书和参考书。
- AI Game Programming Wisdom I and II——类似游戏编程精粹,这一系列都是找专业人员编写的,对你很有帮助。Steve Rabin是编辑,他还编辑了游戏编程精粹中的AI部分,同时也是www.AIWisdom.com的站长。在进行有关人工智能方面的编程时,这是一个非常有用的资源时。
常规开发和编程
- Refactoring: Improving the Design of Existing Code(重构:改进现有代码,好像有中文版)——两年前当我在飞机上阅读这本书时,有人对我说你可能会读得精疲力尽。也许他是对的,这本书充满了疯狂的设计模式和规则。第一章很好阅读,其余的是更像是一个参考。总之,现今在大项目中重构是一个最有用的过程。虽然此书发表与1999年,但现在仍然100%适用,非常有用。
- Rapid Development ——这是一本关于软件设计和管理进度的好书,但它太长有时难以阅读。这本书早在1996年就已问世,但描述的技术仍然适用,但对于新技术来说有些想法不够灵活(例如,使用敏捷方法)。不过这仍是一本非常好的书,它包含了几个有趣的故事,讲述了一些大产品如MS Word,以及他们是如何保证进度的。
- Code Complete 2 ——对任何程序员来说都是一本最好的书。它描述了软件开发过程,并帮助你找出管理项目最有效的方式。非常详细地解释了数据结构,哪个线路,哪个循环或哪个策略是最有益的。我将此书推荐给新的和有经验的程序员。这本书对任何人都有帮助,应该放在案边而不是书架上。
- Managing Agile Projects——敏捷项目意味着什么?是根据用户的反馈意见调整和定制您的项目。听起来还是太模糊?好吧,这意味在编码前你没有任何计划,但您将项目分成更小的部分,只有计划概述,然后直接开始开发。现在,你可以做出一个早期版本,根据反馈(客户的或自己的),您可以调整您的项目而不是把时间浪费在别人不需要的东西上。如果您时间很紧或其他地方更加重要,您还可以缩短项目中的特定部分,如果你事先计划项目的每个细节,以上做法是不可能的。这是一种技术,通过单元测试和重构(见Refactoring: Improving the Design of Existing Code)实现。这本书提供了非常广泛的概览而并不真正谈论编码,它只是方法。
- Maximizing .NET Performance ——我是一个性能狂热追求者。过去我常常试图重新将现有代码用汇编实现,只是为了看看还能变得多快。后来我发现,更重要的工作是更高层次的思考,这样即使不优化也能运行良好。我仍然认为大多数性能问题来自坏的编码或未优化的算法,而不是因为使用的编程语言。然而即使是良好的解决方案,你仍需要知道什么是可能的,什么是快速的以及哪些东西影响性能。这本书给你一个非常有用的看法并涵盖了大量的技巧和窍门。是一本很好的参考书籍。
- Code Generation in Microsoft .NET——我第一次听到这本书是在DotNetRocks上,作责作者Kathleen Dollard谈到了使用代码生成模板和其他技巧。我立即买了这本书。它主要使用Visual Basic,但也有C#版本。它很好地解释了由代码Dom生成代码,但没有详谈MSIL(这个我更感兴趣)。不管怎样,这本书写得很好,我学到了很多东西。这本书也介绍了数据库绑定的整个框架的建立,存储过程和从XML模板创建Win Forms。这也是第一本讨论这个问题的书(也许是唯一一本用代码Com代替MSIL的书)。
其他有用的话题
- Programming in Lua ——这是一本面向Lua程序员的书。也可在lua.org免费下载。我第一次阅读的是网络版,然后买了书,因为它是如此优秀。Lua是一个非常简单的脚本语言。但是,有时它是如此简单让你都不知道使用哪些关键字或什么类型。有一些有用的代码示例是最大的帮助。借助这本书我在1-2天学会了Lua,并能制作一些有用的东西了(而不是像其他语言一样短时间内只能编写一个Hello程序)。
发布时间:2008/12/18 下午2:29:03 阅读次数:6116