2008年12月29日

关于作者


这一页提供了为这本书做出贡献的每位作者的简短介绍, 以字母顺序列出.


Wolfgang Engel


Wolfgang在Rockstar的核心技术组任首席图形程序员. 他是ShaderX系列和其它一些书籍的编辑, 喜欢讨论图形编程. 除此之外, 他从2006年6月开始就是DirectX MVP, 活跃在这个行业的许多领域.


Jack Hoxley


Jack最初开始编程是在1997年,  当时是受到朋友用VB4.0开发的一个简单2D桌面游戏的鼓舞. 他决定自己也去做一个, 到现在为止已经用过多种语言做过开发了. 业余时间他创建了"Direct
文章来源:http://blog.csdn.net/xoyojank/archive/2008/12/28/3629948.aspx

posted @ 2008-12-29 04:23 逍遥剑客® 阅读(37) 评论(0) 编辑

前言


这本书是为那些具有DirectX 8或DirectX 9编程背景, 并且想把他们的知识升级到DirectX 10的人而准备的. 如果这本书出版了的话, 我们希望你购买它. 我们非常欢迎这本书的读者在出版前给我们纠错, 增加或改进部分内容. 每一位参加校对的读者都会在这个前言中被提及, 并且保留到印刷版本中去.


现在的这本书是在两年前DirectX 10还没有正式发布时开始的一个项目. 当时我们闲逛在一些beta论坛上, 开始意识到应该有一本关于DirectX 10的着色器编程的书. 但现实是我们都被各自岗位的工作牵引着(Wolfgang当时在爱丁堡从事于《GTA IV》, 后来是《Midnight Club Los Angeles》, Niko则在各地之间飞来飞去, Ralph忙于《Spellforce 2》的上市和准备《Battleforge》) , 所以整个过程变慢了许多. 我们曾经重新开始过两次, 第二次Jason Zink的加入节省了另外我
文章来源:http://blog.csdn.net/xoyojank/archive/2008/12/28/3629928.aspx

posted @ 2008-12-29 04:13 逍遥剑客® 阅读(18) 评论(0) 编辑

顶点, 几何和像素着色器编程


Image:Cover810.jpg

Remedy Entertainment《Alan Wake》的截图




Wolfgang Engel

Jack Hoxley

Ra
文章来源:http://blog.csdn.net/xoyojank/archive/2008/12/28/3629545.aspx
posted @ 2008-12-29 02:00 逍遥剑客® 阅读(16) 评论(0) 编辑
  2008年12月28日

基于StormLib, 参考N3的ZipFileSystem实现了一个MpqFileSystem


 


有一点要注意, 文件路径里不能用'/', 都要用'\\' @_@


 


mpq文件包里的文件是不保存文件名(或目录名)的, 也就是说打包后的文件是不可逆的. 但是在每个文件包的根目录下都有一个(listfile)文件, 里面包含了文件包中的文件名列表


(为什么listfile文件最后有一段空字符串呢???)


没有去实现写入的功能, 虽然StormLib可以添加文件, 不过对于游戏只需要读就可以了


mpq有一点比zip有优势, 那就是可以进行Seek...这样就支持流式的文件加载了.


而且对于wav可以采用特殊的压缩算法来增大压缩率. 不过我对wav没好印象的说...


用XACT可以播放xWMA, 用DirectShow可以播放WMV(我晕, 我怎么又
文章来源:http://blog.csdn.net/xoyojank/archive/2008/12/28/3625652.aspx

posted @ 2008-12-28 10:55 逍遥剑客® 阅读(167) 评论(0) 编辑
  2008年12月25日

记录一下, 方便查阅
官方链接: The StormLib library//----------------------------------------------------------------------------- // Functions in StormLib - compatible with Storm.dll // Typedefs for functions exported by Storm.dll typedef LCID  (WINAPI * SFILESETLOCALE)(LCID);typedef BOOL  (WINAPI * SFILEOPENARCHIVE)(const char *, DWORD, DWORD, HANDLE *);typedef BOOL  (WINAPI * SFILECLOSEARCHIVE)(HANDLE);typedef BOOL  (WINAPI * SFILEOPENFILEEX)(HANDLE, const char *, DWORD, HANDLE *);typedef BOOL  
文章来源:http://blog.csdn.net/xoyojank/archive/2008/12/24/3599684.aspx
posted @ 2008-12-25 07:54 逍遥剑客® 阅读(197) 评论(1) 编辑
  2008年12月24日
替学长宣传一下他们的游戏^_^向所有为了理想而做游戏的人们致敬~  《落花辞》清晰版下载:下载链接  大小:122.8MB
文章来源:http://blog.csdn.net/xoyojank/archive/2008/12/24/3595578.aspx
posted @ 2008-12-24 21:03 逍遥剑客® 阅读(35) 评论(0) 编辑
  2008年12月22日
DirectX Runtime核心组件有Direct3D, DirectSound和DirectInput, 可以看作是操作系统的一部分. DirectX9.0c的核心组件自从DirectX SDK Summer 2004后就再也没有变过了, 除了Vista上的DX10. 而DirectX9.0c已经包含在WinXP SP2中了, 我想现在应该还没有人在用SP1或2000而不装DX9.0c的吧?(除非不玩游戏). 换句话说, 我们可以假设核心组件在用户的机器都已经存在了, 我们没有必要再给他们安装一次. 可选的组件有D3DX库, XACT, XINPUT和Managed DirectX. 
DirectX 的安装在SDK/Redist目录下已经包含了一份完整的DX Runtime安装程序, 完全可以随应用程序一起发布给用户. 如果不想显示安装界面, 可以用"dxsetup.exe/silent"来调用安装程序. DirectX安装程序至少需要以下几个文件:dxsetup.exe
dsetup32.dll
dsetup.dll
dxupdate.c
文章来源:http://blog.csdn.net/xoyojank/archive/2008/12/22/3580758.aspx
posted @ 2008-12-22 18:41 逍遥剑客® 阅读(123) 评论(0) 编辑
  2008年12月16日
摘要: 1. ASCII码# I, l: i4 J6 \$ C+ C1 e3 [6 P我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。: U2 ...阅读全文
posted @ 2008-12-16 19:51 逍遥剑客® 阅读(112) 评论(0) 编辑
  2008年12月10日
摘要: 原文链接:http://blog.oasisfeng.com/2006/10/19/full-cjk-unicode-range/ 注:在绝大多数应用场合中,我们可以仅用(1)、(2)、(3)、(4)、(5)的集合作为CJK判断的依据。1)标准CJK文字http://www.unicode.org/Public/UNIDATA/Unihan.htmlCode point rangeBlock na...阅读全文
posted @ 2008-12-10 22:39 逍遥剑客® 阅读(51) 评论(0) 编辑
  2008年12月7日
摘要: 官方文档参见:http://klayge.sourceforge.net/html/font_in_klayge.html这里只是一些测试看了龚敏敏写的文档, 觉得这种方式很意思, 就拿来玩玩.因为中文字体的渲染在3D程序中确实是个问题, 尤其是字体大小不固定时, 放缩会出现走样.KlayGE的方法是一种用点阵图模仿矢量图的方案, 把计算过程放在字体生成时, 而运行时的绘制相对常规方法来说消耗很小...阅读全文
posted @ 2008-12-07 04:47 逍遥剑客® 阅读(72) 评论(0) 编辑

公告