学网络游戏编程哪里能学到赌博手艺好技术?学校好找吗?

XNA, Shader & Game Engine Design :: :: :: :: :: :: 55
随笔 ::
0 文章
286 评论
0 引用
仅供个人学习使用,请勿转载,勿用于任何商业用途。
作者:Clayman 与玩游戏相比,写游戏要复杂上千万倍,除了需要掌握通用的编程技巧以外,还要有相当的图形学,物理,数学基础,特别是在国内,由于相关资料的缺乏,更是让初学者无从下手。下面总结了一些入门方法和比较容易入手的资料。 首先你要
一门高级语言,比如C++或者C#,其次,要有良好的英文阅读能力。对游戏开发者来说英文阅读能力是最重要也是最基本的工具之一,因为你遇到的大部分资源都将是英文的,不要总等着别人为你翻译。慢慢尝试着阅读英文资料,你会发现其实也并没有那么难:) 刚开始,你要做的就是选择一门图形API,一般就是DirectX或者OpenGL之间选一个。如果考虑到跨平台,那么OGL是首选. 如果只在ms的平台,则DX是首选。我对OGL并不是很了解,所以下面大部门资料都是和DX相关的。当然,作为准备工作之一,你首先要到DirectX Develop Center下载最新版的DirectX SDK。 入门书籍非常重要,推荐Introduction to 3D Game Programming with DirectX 9.0(好像去年出了中文版)也就是传说中的龙书,这可以说是最好的DX入门教材,Frank Luna从浅入深,讨论了DX的方方面面。另外再配上DirectX 9 Graphic the Definitive Guide to Direct3D,书名虽然是
definitive
,但实际属于入门基本的书。看完这两本书,你基本上已经对DirectX比较熟悉了。如果你希望学习XNA,也是一样的,毕竟XNA是以DX为基础。
更新(2010.11.6):
Introduction to 3D Game Programming with DirectX 9.0的第二版,《xxx, A Shader A roach》也可以找到了。 不要一开始就看图形学的书,这个时候你对图形编程还没有一个基本的感性认识,因此八成看的云里雾里。不要以网上的教程和论坛提问作为主要学习途径,找一本好书,系统学习,效率才最高。不要马上看SDK里的例子,很多图形学的基本原理仅仅通过读代码是不会明白的。某些年代太过久远的书最好
*不要*
看了,比如
windows游戏编程大师技巧> gt 3D游戏编程大师技巧
。有人说基本的思想总是不变的,可惜对于现代GPU来说,很多早期的技术和优化技巧早就过时了。图形编程是发展的非常快的技术,看看GPU的发展速度,1~2年就是一代产品的革新。 好了,入门之后,是你巩固和拓展视野的阶段。现在看计算机图形学就比较合适了。吐血推荐Real-Time-Rendering,这本书算得上是所有图形程序员的必读书籍和参考手册了。最近刚出了第三版(更新:已经有电子版了)。可惜国内只有第二版,稍微有点老,如果实在找不到第三版,还是值得一读。国内其他所有以图形学命名的书都有一个共同点:枯燥,过时。只需看看其中二维三维变换和曲线曲面表示的部分即可。如果这个时候发现你当年数学没有学好,那么有三本数学书是为游戏程序员量身定制的:3D Math Primer for Graphics and Game Development, Mathematics for 3D Game Programming and Computer Graphic gt gt;和E ential Mathematics Guide 2nd Editio gt gt;,第一本书有中文版,最后一本则是08年才出的新书。 更新(2010.11.6) 看完上述入门书籍之后,就应该花点时间好好的
阅读DirectX文档以及部分sample了,加深对
DX整个系统,函数的了解。
你会发现普通论坛里60%的问题都是文档里讲过的。 其实入门之后,就没有固定的学习路线了,最好根据你感兴趣的方向来学习。 Shader方面
《Cg_tutorial》和《The Complete Effect and HLSL Guide》都是不错的入门材料,当然还有SDK文档。Shaders for Game Programmers and Artist gt gt;有大量入门的例子。Advanced Lighting And Materials With Shader gt gt;详细介绍了各种光照模型和技术。GPU Gem gt gt; 1~3册肯定是必读的,虽然有1,2有中文版,但某些翻译并不是很理想,强烈建议直接看英文版。ShaderX系列也是很经典的系列,每年出版一本,包含了最新的实时渲染技术,如今已经出了第6册了。不
过网络上只能找到1~3册。1,2册大部分shader都是用asm写的,不过看懂原理,转换为HLSL也并不难。另外Nvidia SDK和ATI SDK也是学习shader的重要资源。最后还有刚出的 Programming Vertex, Geometry, and Pixel Shader gt gt;
更新(2010.4.30):ShaderX已经出版了第7册,后续的版本由于版权原因,改名为GPU Pro: Advanced Rendering Techniques,仍然每年出版一本。
更新(2010.11.6): 天朝人民的智慧是无限的,很多图形学的新书都能在taobao买单翻印的纸版了,包括ShaderX系统等等.....
更新(2010.11.6): 关于ShaderX和GPU Gems常常有人问我较老的几册值不值得看,还有看不懂怎么办。这里是我个人的看法,仅供参考:ShaderX和GPU Gems收录的都是比较前沿的技术,虽然每本之间没有连续性,但很多技术都建立在之前的方法上。有时间的话,建议从第一本看起。两本书都属于论文集,章节之间并没有太多连续性,所以不必从第一页看到最后一页,选择你感兴趣的部分即可。比如对阴影感兴趣,就只看阴影相关的章节,你可以看到整个阴影技术近10年的发展,变化,很有价值。另外,书里很多前沿,实验性的技术,由于硬件限制,通常要2,3年后才有可能普及,现在看以前的几册也不会太"过时"。 最后,这样的书内容涉及了图形学的方法面面,2d,3d,图像处理,ai,游戏构架,gpgpu等等,范围太过广泛,特别是GPU Gems相比ShaderX更偏重学术研究,很多技术最终不一定能实际应用到产品中,有些章节看不懂也属于正常现象。 地形:
Real Time 3D Terrain Engines Using C++ And DX9非常全面的讨论了关于地形渲染的各种技术,至少应该把第5~9章都浏览一遍。之后便可以 到virtual terrain查阅近期的地形渲染技术。
更新(2010.11.6): 经常尝试用PIX分析你电脑上的游戏,地形渲染通常是最容易分析的部分,而且可以让你马上了解目前流行的地形渲染方法。 模型导入和动画:
Advanced Animation with DirectX,仅此一本足以。
更新(2010.5.5):Character Animation With Direct3D已经可以很容易的找到了, 此书介绍了目前最新的游戏动画技术,作者是xbox360大作Alan Wake的开发人员,完全可以替代上面提到的那本。 物理:
Game Physic gt gt;和Game Physics Engine Development都不错。Real-time Collision Detectio gt gt;是碰撞检测方面最好的书。:3D Game Engine Design, 2nd的8,9章也值得一看。 LOD:
Level of Detail for 3D Graphic gt gt; Ray tracing:
Physical-Based Rendering - From Theory to Implementatio gt gt;
更新(2010.4.30): 一本免费的入门教程Another Introduction to Ray Tracing
更新(2010.11.6): 此书已有第二版,而且某网站有翻印版出售。 引擎设计:
说实话,这方面还没有特别好的书,大概越是核心的内容,越少有人愿意写吧。3D Game Engine Architecture Engineering Real-Time A licatio with Wild Magic只有第三章值得一读。3D Game Engine Programming可以选部分感兴趣的章节看看,不过总的来说,讲的比较浅。
更新:3D Game Engine Design, Second Editio gt gt;出了影印版本,此书是
3D Game Engine Architecture Engineering更新版,
强烈推荐。
最近发现Pro OGRE 3D Programming也很不错,200多页短小精干,但是可以让读者快速了解一个既有引擎的设计和构架。
更新(2010.7.15): 新出的《Game Engine Architecture》非常不错,注意是Jason Gregory的版本。如果只推荐一本引擎方面的书,绝对是这本。传说有扫描电子版了。
更新(2010.6.28): Game Engine Gem gt gt;是关于引擎设计的新系列丛书,与ShaderX类似,也是每年一本,目前已经出版了第一册,已有电子版 AI &am Game Programming
Programming Game AI by Example非常不错,好像还有中文版,备选Artificial Intelligence for Game gt gt;(已有第二版)。当然AI Programming Wisdom系列也是必读作品,不过目前网络上只有1~2册。
更新(2010.5.28):AI Game Engine Programming已比较好找了,虽然说这是一本名不副实的书,并没有完全介绍一个"one for all"类型的引擎,也没有具体算法讨论,但针对各种不同类型游戏的AI设计做了详细介绍,可作为一本指参考导性书选择阅读。
:mai%25##&am %...(本人网络白痴 +_+........) 综合:
Game Programming Gem gt gt;系列,不过由于内容涉及的过于广泛,文章质量参差不齐,选择性阅读就可以了。历年GDC, Gamefest,Siggraph等大型会议的paper也是应该关注的。至于那些“All in one”或者n天较你写出个FPS游戏的书就不要读了,这类书的通病是什么都说了,结果什么也没说清楚。 除了书以外,再推荐一些不错的网络资源:
除了大量教程以外,论坛里多年累计下来的内容保罗万象。好好利用论坛搜索,你会发不管你多厉害,那里总有一些比你强大的人在很久以前就遇到了和你同样的问题,并且给出了解决方案。
Nvidia和ATI的开发者中心
creators.xna.com XNA官方网站
与GameDev类似
这里的除了讨论软件以外,还能看到对硬件构架的分析
国内唯一比较专业的游戏编程网站,可惜和GameDev相比就显得太寒碜了-_-# 当然,不要忘了收集各大论坛里牛人们的blog:) 最后,仅仅靠看书是不够的,多写多练才是王道。 :以上书籍,除了特别注明的以外,都是可以通过网络或者书店入手的。不要找我要电子书,我能找到的,相信你也能找到,你找不到的,我肯定也没有 :) :如果你非要转这篇文章,至少应该保留原文链接和作者吧................. 绿色通道:
posted on 2009-05-17 22:34
阅读(10309)
2009-05-27 13:43 :)
  2009-06-09 19:26 good!
  2009-06-15 16:26 博主请问你觉得学习XNA游戏开发有前途吗,C#和C++两种语言的游戏开发会呈现什么状态,期待您的回复
2009-06-15 19:54 @陈孝勇
很难预测几年以后用c++开发游戏是否会减少,但可以肯定的是用xna开发的游戏会越来越多。很多成熟的游戏公司由于已有大量C++代码和熟练的C++程序员,这类公司对xna不会感兴趣。但对新新团队或者新项目来说,xna就是一个很有诱惑力的选择。其实国外游戏公司早就广泛使用.net来编写编辑器和相关工具了:)
  2009-07-03 18:04
LZ文章应该写了很久了,我猜。
---------------
1)学DX,不学opengl,这是舍近求远。
opengl绝大多数入门书都要强过dx下所谓的龙书。
2)掌握好dx之前,把com研究透先。(com搞透的过程,就是实力提升的过程)
无论c#,还是c++,只要面向对象语言,就有必要把设计模式理解透了。不然很难设计像样的引擎,当然也无法体会,别人所设计的框架的妙处。
3)。。。
  2009-07-03 19:09
理由:
opengl最早出现,其文档丰富,讲了how,why;
dx借鉴了opengl,其书本上一般只跟你讲how.这是因为MS设计时遵循“傻瓜”理念,所以要讲清why不容易。一个对dx认识模糊程序员,是很把dx真正用好的。要搞清疑点,在dx下,要花极大的精力。
不多说了,其实就算你单位没有牛人,没有培训,只要你个人自觉,看书足够多,多多感悟,做游戏其实也是可以跟玩游戏一样快乐的。 :
不要告诉我,3D模型,你建不来(每天抽一个小时弄3ds max 或maya,自己开发的3D建模软件也行).
闪人~
  2009-07-04 01:27
@阅书千本
看来你是ogl的支持者吧,文章开头就说了,这里的资料主要针对dx,如果你有时间可以写一个ogl的版本。
至于ogl和dx优劣,我觉得是个没必要也没意义再讨论的话题,前人争论了多年也没达成一致。公正的说,ogl确实最早出现,但今年来dx的发展已经超越了ogl,从目前pc平台上游戏dx广泛流行的程度就很能说明问题。
至于你说的why“的问题,我并不觉得会因为dx本身而无法解释清楚,两者都是在相同的硬件上运行,而基本的图形学原理是通用的,不依赖于任何api
最后关于建模的问题,就我的经验来看,优秀的程序员一般都不是优秀的模型师,当然图形程序员了解一些建模软件的知识还是必要的。至于我自己,在我还不会写程序之前,就已经会用maya了:)
  2009-07-08 11:16
“与玩游戏相比,写游戏要复杂上千万倍”
这句话只能说明你的思维太死, 如果你能明白游戏的第一要素是游戏性的话,你就会明白玩游戏也不是那么简单,能把你所玩的游戏进行分析,综合创造一个新的游戏不是那么简单的.
GDC上的终身成就奖也大多是游戏设计师,比如:马里奥之父-宫本茂,
文明之父-席德·梅尔获等等,这更说明了创意对游戏的重要性.
有人说我只是游戏程序员,不关心这些,那些是策划的事,试问一个连自己产品都不关心的工程师能做到顶尖么?
中国游戏缺乏的是什么? 技术么? 错, 是真正喜爱游戏的人, 理解什么是游戏的人.
2009-07-08 15:21 nightfall
本文的目的并不是讨论策划和程序之间的关系,你的评论和逻辑实在有些莫名其妙:(
  2009-07-09 14:30
nightfall
8楼咬文嚼字 断章取义
  2009-07-18 21:06
Real-time Collision Detection 已经有电子书啦
  2009-07-18 21:15
泥娃娃 请允许我这样称呼你
不知你是否还记得我
我就是原本打算跟你 一起翻译HLSL Complete的那个
后来因为种种原因 就没有和你联系
现在想起来觉得有点愧疚于你
去年 我也参加工作了
虽然从事的是嵌入式 和游戏开发毫无关系
但是依然对游戏开发恋恋不舍
几个月前我用C++写了一个完全基于软件的3D绘制函数群
实现了与dx里的那个fixed function pipline类似的一个东西
希望以后多多交流
我目前正在学习物理引擎的内容
你应该有我的QQ号
这里 我留下了我的邮箱
  2009-09-15 18:50 博主,我正在按照您推荐的顺序学习
最近开始看《real time rendering》
我想问问阅读该书的方法,该书讲的都是原理
不知道怎么实践
或者这本书只要大概的看一下?
2009-10-01 13:53 FPrince
抱歉那么晚才回复,这是一本指南/参考性质的书,从硬件到软件,让你了解目前实时渲染技术的方法面面。比如shadow部分,如果你正计划实现阴影,RTR告诉了你目前常见的方法有哪些,各种方法的优劣如何,有了这些消息,你就很容易选择适合自己的技术,再通过书后列出的参考阅读材料索引,了解某种方法的具体算法,最后实践起来就很容易了:)
  2009-10-01 18:13 clayman
谢谢博主的解答
  2010-01-31 19:39 Real-time Collision Detectio gt gt;现在有电子版了,3D Game Engine Design, Second Editio gt gt;也有电子版。
Game Engine Architecture你买了没有?这本书怎么样?
呵呵,楼主,把你的ShaderX7借我复印一下吧。
  2010-05-10 21:45 Character Animation With Direct3D
博主,这本书我在百度和谷歌上找了许久,未获。
能否给个下载地址呢,或E-mail给我。
感激不尽,本人急需该资料。
谢谢 @@
  2010-05-10 22:04 这本书,我已经找到了。@@ !
另附下载地址:
2010-05-11 00:47 轻装旅行
itpub.net是找电子书的好地方:)
  2010-05-11 19:24 clayman
谢谢@@
在此请教,博主是否注意过这本书,Programming an RTS Game with Direct3D
06年产
作者和 Character Animation With Direct3D 一书是同一作者。
可惜这本书没找到电子版 @@!
  2010-05-26 11:44 請教。。提高英語閱讀能力的話 是否要學好語法???我自認詞匯量還可以,但一些句子組合起來我就看不懂了
還有開始應該是看Introduction to 3D Game Programming with DirectX 9.0
Introduction to 3D Game Programming with DirectX 10.0呢
看這個前數學要很好吧??我一開始數學就沒學好。。請給個指示。謝謝了:)
  2010-05-27 12:07 nightfall:
“与玩游戏相比,写游戏要复杂上千万倍”
这句话只能说明你的思维太死, 如果你能明白游戏的第一要素是游戏性的话,你就会明白玩游戏也不是那么简单,能把你所玩的游戏进行分析,综合创造一个新的游戏不是那么简单的.
GDC上的终身成就奖也大多是游戏设计师,比如:马里奥之父-宫本茂,
文明之父-席德·梅尔获等等,这更说明了创意对游戏的重要性.
有人说我只是游戏程序员,不关心这些,那些是策划的事,试问一个连自己产品都不关心的工程师能做到顶尖么?
中国游戏缺乏的是什么? 技术么? 错, 是真正喜爱游戏的人, 理解什么是游戏的人.
我顶~
很多人可能只是觉得赚钱才搞的吧.
我喜欢做游戏,从小喜欢玩游戏.
2010-05-27 12:52 :))
1. 稍微了解一点语法,多读。
2. 虽然已有dx11,但dx9还有很长时间的生命力,dx9下固定管线之类的东西倒是可以不看了,请根据你的实际情况选择。
3. 有高中数学基础,对线性代数有一定了解就可以上路
2010-05-27 13:00 轻装旅行
没看过,不过个人觉得这类书一般内容都比较杂而且浅,还是喜欢专重讨论某一方面的书
2010-05-27 13:20 crazii
单为赚钱的话,何苦做游戏编程
  2010-05-28 21:54 LZ 问一下 看原版书籍的时候你用的是什么辅助工具(比如英语词典,语法手册),
  2010-06-02 02:11 博主你好, 以前就读过你的这篇文章,然后一直按照这个路线在学习,最初感觉学习的方向很明确,但是现在学着学着又迷失了,现在基本掌握了固定管线,初级的shader编写,基本的图形原理,这些都只能算是基本掌握吧,但是又实在总结不出来自己到底会些什么,更谈不上在实际工程中使用的技术。
前端时间看你翻译的shader资料以及推荐的几本关于shader的书,基本能看懂,而且感觉收获很大,后来想着应该把自己的基础打牢固些,于是又找了好几本关于D3D的书,从固定管线部分开始看,结果感觉前段时间好像是白学了,又回到了原点,开始迷茫,不知道方向了,现在挺苦恼,感觉浪费了很多时间,自己也曾分析过原因。
请博主有空闲的时候能给我一些建议,我的邮箱: Orwall__@m .com
非常感谢 !
2010-06-02 13:51 杂乱的书桌
用词霸查查单词
2010-06-02 13:56 xiaoxiaolei
只看书,不写代码怎么行,尝试写点demo和小游戏,实现某个游戏里你觉得比较拉风的特性.......
固定管线慢慢要被淘汰了,尽量用shader吧。
  2010-06-03 02:35 clayman
谢谢你的回复,
固定管线没有彻底弄懂,后面学习shader的时候会不会很吃力呢,
现在我也就能用shade实现那么几种光照, 顶点变换之类的,
你说的demo,小游戏,高级特效等,我还不知道怎么入手,我看的书上也全是千篇一律的讲些基础性的东西,看的过程也特别枯燥,我现在的阶段适合看你列出的那些英文教程吗
  2010-06-04 08:50 我的观点和clayman大基本一致。对于初学者,可以看看弗兰克露娜的introdution to game programming with dx9.这本书有两个版本,一个固定线的一个shader的。个人认为在进入shader前还是对固定线有一定认识比较好,但不必深究。另外本书还有个D10版本的,也很不错。
另外网上还有一部教程叫什么game programming with directx module
很厚,两本书加起来大改3000多页吧。虽然他讲的是固定线的,很老了,但是仍然有很多参考价值,尤其是第二部中关于讲解动画的部分及其透彻,也很易懂,读完后可以自己开发一个动画系统了,不用任何API。事实上这部教程的两个作者和frank都是game i titue的老师,他们一个特点就是写得非常易懂,还有他们都会穿插地讲解一些图形学的东西,而不是纯粹介绍API。
图形学的话就按clayman大说的,实时计算机图形学读RTR,传统计算机图形学读PBR。
数学的话,初学者必须学好线代,但等你研究到一定深度,微积分概率论也是必要的。刚上本科的学弟们一定要好好学习数学哦。
还有一个信号,clayman大貌似没提到,不过建议有空的话还是学学。
入门后就按自己的兴趣自由发展吧,着色、动画、几何、物理,这些branch在网上都有很多资料,除了书,另一个重要的信息来源就是paper。
要想做引擎的话,你还要学习设计模式和软件架构,另外你的C++水平必须达到一定的高度,C++本身也有大量的书籍要阅读。不建议新人一开始就做引擎,还是先做一阵子DEMO自爽一下吧。
PS:不知道clayman大看过《game coding complete 3d》没有,这本书虽然标题没有engine字样,但是对于开发引擎还是有很多值得借鉴之处。
还有,clayman大买书有什么捷径么?本人买shaderx6和7花了800天朝币,邮费比一本书还贵咧,太不划算啦~~
2010-06-07 19:09 xiaoxiaolei
1. 不会
2. 写demo是一个学习,解决问题的过程,从无从下手到最后实现,不但能加深已有知识的理解,更能学到很多新东西。
3. 当然合适。
2010-06-07 19:29 holyodin
话说曾经有一本信号与系统放在我面前,我尝试了无数次,都能没坚持读完前100页,残念啊--b....
个人觉得霸王龙书代码太多,也不够深入,可以作为参考看一下
基本上是直接在amazon买,taobao上有些代购,不过好像比直接amazon还贵
  2010-06-13 02:00 clayman
嗯,是啊,呵呵,好在还有很多有做游戏热情的人.其实我想做单机游戏来着..不过单机游戏需要适合国情的运营模式.不然...呵呵,我又忍不住说到商业方面了..
顺便,我以前经常baidu问题的时候就跑到博主这里,以后多向博主学习.
  2010-06-13 02:01 对了,貌似我是在gameres上就看到博主了,我的这个id在gameres上也有.呵呵.
  2010-07-15 14:02 请问博主,你有没有好用的shader调试工具,可以在shader的source里设置断点并进行单步调试。
另:物理引擎的开发难度不亚于游戏引擎的开发难度,光看博主你推荐的几本书可能还是不太给力(《Game Physics Engine Development》这本是非主流)。如果博主感兴趣可以读一下Ke y博士的论文《Stable, Robust, and Versatile Multibody Dynamics Animation 》。
2010-07-15 18:07 Nin+.Lee
1. 试试NVIDIA Shader Debugger :)
2. 文章里列出的书只是在可找到的资源里比较好的。基本算法这几本书还是讲的很清楚了。实际开发参考一下bullet吧,开源,文档也还不错
  2010-07-15 20:54 @clayman
1、NVIDIA Shader Debugger可以调试GLSL吗?
2、我也曾试图自己实现一款物理模拟引擎,走了许多弯路,也得到了网上一些高人的帮助。我也读过《Game Physics Engine Development》一书。老是说这本书中介绍的算法与开源引擎Bullet、ODE中使用的算法大相径庭。总之,我把它归结到我走过的弯路里边了:) 博主介绍的其他几本关于碰撞检测的书倒是不错,其中《Real-time Collision Detection》一书是Bullet引擎的参考文献之一。
  2010-07-15 20:56 Ke y正是《Physics-based animation》一书的作者,其中的主要思想都来自于他的论文《Stable, Robust, and Versatile Multibody Dynamics Animation》,此书也是Bullet引擎的参考文献之一。
  2010-07-21 09:19 GEA的确可以下到了
  2010-07-24 13:48 凶鬼恶灵
我已经上传到CSDN上了。是扫描版的,虽然效果比较差,但是有总比没有强。
  2010-09-08 19:44 小白问一下各位:
1.龙书中是不是有很多算法啊,如果是的话,和图形学中的算法有什么区别呢?
2.龙书看到哪一章对图形学的认识有了比较大的提升?也就是说可以好好研究一下图形学了?
2.龙书10.0版怎么样啊?我是倾向于追根溯源那种类型的,也就是喜欢why的,我怕新版本更偏一些新技术,少了原理的解释,有大致通读新版全书的前辈能说一下书的风格的改变么?徘徊在9.0和10.0之间啊...
4.对硬件要了解多少呢?对信号与系统又为什么需要了解呢?貌似是电气与通信的专业课啊...虽然我本来也想修的...
小白我是那种不怕学习不怕寂寞的人哈~~所以希望大家不要吝啬您的文字哈~~
2010-09-09 03:19 ouro
1. 龙书系统的介绍基本了DirectX的基本用法以及基础的图形学知识。
2. 计算机图形学是门奇怪的学科,所有让计算机显示出图形的相关技术都属于计算机图形学的一部分,个人觉得图形学更像是一门“杂学”,包含了计算机技术,数学,物理等等,应用范围也各不相同,比如图片处理,计算机视觉,游戏等等。“专门”研究图形学是漫无目的的,而且这是一门实践性非常强的技术,多写demo才是正道。
3. 10和9区别只在于10是基于DirectX10 API来讲解的,其他并没有变化,但考虑到dx9可能还有相当一段时间的寿命,完全不了解dx9可能也不太好,最好根据你的实际情况选择。
4. 至少需要对GPU构架非常了解,才能写出高效合理的程序。信号与系统不是必须的,但有相关知识对某些概念的理解会更好。
  2010-09-09 18:50 clayman
小白先谢谢楼主的回复.
但是关于第三第四点,我还有些疑问.
holyodin说到,可以看看弗兰克露娜的introdution to game programming with dx9.这本书有两个版本,一个固定线的一个shader的。个人认为在进入shader前还是对固定线有一定认识比较好,但不必深究。
你觉得小白应该从哪一个学起呢,也就是说这两者哪个更适合初学者?我希望参考一下您的建议
其次,GPU的构架通过什么的学习才能非常了解?周期呢?
您既然说目的是高效合理的程序,我想是不是属于advanced那种级别的要求,周期自然也不短是吧...但对于DX编程入门来说,是否是当务之急呢?
  2010-11-05 21:51 初学directx者 小白一下
我c++基础不是很牢 现在在看龙书,但是有点吃力,我是不是应该先放下龙书先好好学C++呢
又不知道C++该从何学起
我对起初是对计算机图形学感兴趣才学directx的,对于游戏确是一窍不通,
越学越在怀疑自己该不该学下去
2010-11-06 02:04 CM ow
1. 如果是龙书的代码看不懂,那么你应该先学好c++,再稍微了解一点windows编程的知识。
2. 如果是龙书所讲的内容看不懂,那么建议你慢慢仔细读的同时,要实际动手写作者讨论的demo。如果还是不行,那么就该仔细考虑你是否适合继续学了。游戏,图形通常都需要2,3年的学习才会有一定成果,没有一定的信念,单凭一时的兴趣是很难做下去的,虽然有人不太喜欢我在文章开头写的那句话,不过那绝对是句大实话:)
  2010-11-12 15:51 clayman
恩 谢谢你的建议
我现在又从头开始看了 发现以前很多以前没发现的地方 才导致后来越看越糊涂 怎么看书也是一门学问啊
在看书的同时我也在敲书上的例子,这个没有太大的感觉 我觉得应该是自己的自学能力不好的原因吧 不像上课有老师布置作业 呵呵
不过随着接触得多些 情况会有所好转吧
  2010-11-21 08:34 windows游戏编程大师技巧
3D游戏编程大师技巧
博主是否看过这2本书?如果没有看过就说它过时了,是否有点草率。优化技巧并不是它主要讲的东西,如果因为它而否定这2本书,是否算一种偏执?希望博主能相信解释下原因,谢谢
2010-11-21 10:32 如果没有看过,我肯定不会随便乱写。
以上大部分书籍,都是从实用的角度来推荐,目的是帮助初学者能快速了解实用的实时渲染技术。如果从学院派的角度来说,这2本书都可以读读---虽然其中很多内容已经没什么用了---了解一些历史并不是坏事。但我觉得对一个初学者来说,看完一本近千页的书,感觉学到了很多,回到实际应用时却发现原来书里的技术已经完全和时代脱节了,是一个很大的打击!
为了避免陷入无意义的争论,我不想对这2本书写一个详细评论。只有一点需要说明,学习实时渲染图形学的话Real-Time-Rendering 3rd是更好的选择,学习DX9/10的话Frank Luna是更好的选择,学习windows编程Charles Petzold是更好的选择,希望你明白我的意思了:)
  2010-11-22 12:37 clayman
我想问问你,你最近买的那本关于 游戏引擎架构的书 看的怎么样了?
之前也听说过有人要 汉化,但是现在估计那人已经放弃了
2010-11-23 12:49 轻装旅行
看了,不错。作者虽然没有David Eberly名气大,也算是经验丰富的 人士。这本书对得起architecture这个名字,如果以前没接触过引擎的人,看完之后对引擎是什么,有些什么模块,模块之间如何相互协作,等方方面面都会有所了解,而且内容比较新,贴近实战。DE的书在这方面就差了一截,比较偏重实现细节,太多基于wildmagic的讨论反而有些局限。不足的地方是渲染构架和场景管理没有深入讲,有点小遗憾。
翻译真是个出力不讨好的事情,当年我也翻过些资料,现在懒得弄了,原因就是这些稍微“高级”一点的内容,翻了也没多少人看,那些需要并且能看懂这些内容的人,一般更喜欢看原文..........
  2010-11-23 19:57 谢谢,看来要攒钱了 = =!
2010-11-23 22:10 轻装旅行
有扫描版的,虽然质量不太好,还是可以看啊
  2010-11-24 23:52 我有个很基础的问题想问下楼主。。。就是如果我要从头自学C++,那么只用Dev C++或者wxDev C++这个环境可以吗?
  2010-12-09 19:07 我也看过信号与系统 太佩服他们专业了 我当时是为了开发大脑才看的
  2010-12-31 14:44 个人体会:
入门的书里面,opengl红宝书是最好的。
如果你直接从dx龙书起步,只要你不是天才一类的人物,那么你离入门还有很远的路要走,至少我是这样的,直接从dx上手,总觉得难以把握管线的细节活动,很多东西模模糊糊的。
接着,对固管有了相当认识后,这时要做一件事,推导各个转换矩阵。这时,你可以看看3d game engine desig gt;前几章,虽然推导不是很完美,需要你补完它。这段时间,也可以很好的巩固一下线代知识。
接着要做什么,shader入门。楼主提到的那本Cg_tutorial相当棒哦。
自此,你已入门了。
接下来,不要急着引擎或是其他专题。好好学下3dsmax/maya,花上1-2个月时间吧。把里面特效,动画都好好体会一下。以程序员眼光来看,就是渲染。如何做到的?那是今后的事。以后你编程,眼界就开阔多了,会知道,自己也可以做到什么程度,可以实现某些特效等等,这样为自己确立一个方向。以后再进一步学习,就不会盲目了。楼主也会这个的,其实他在学习新东西的时候,心中马上就有一个定位,这些东西到底是什么,处于什么层次,是不是某个技术的变种等等。这是学习3d软件的妙处所在,新手不可不查。
最后,目标都明确了,自己感兴趣什么就慢慢啃相关内容。列份计划完成就行了。楼主已经把一些好书都列出来了。
在这个学习过程,可以做个简陋3d软件出来,写写通用模型导出插件,把外在资源为自己所用。 :红宝书一定要看,这是游戏编程的快速捷径,虽然你以后可能以编写dx为主。
c++蛮难的,要提高认识,写个简单的程序,然后反汇编一下,你就会理解该死的this指针是怎么一回事了。同样,你要理解函数调用方式的差异,用工具dum in好好查看一下,总结一下。
诸如此类的很多问题,都是随着你编程过程不断搞清楚的。这些基本的东西很可能会卡得你寸步难行。
游戏编程中用到api一定要理解意义。比如lock()什么的,不要把它当成什么基本框架就放过去了。要搞清楚是不是为了同步操作的需要,内部其实已经建立了一个临界区。再比如,那句api负责将内容载入的显存中,等等。如果一开始都认真弄清楚了,那么你的游戏编程能力将会有质的提高,且编程的乐趣也会随之而来。
c/c++运行库我们应用自如,dx/opengl 运行库其实道理一样的。 当一切淡定,编程编程,其实更多的是对各种算法的应用。那些说算法不重要的人脑子真不知乍想的,太不负责了。每年都有新算法书出版,足以说明算法的重要。
2010-12-31 19:17 hero329
对于实时渲染,只要不涉及写软件渲染器,管线实际上没太多复杂的东西,选择dx也不会对理解管线有太多影响。至于fixed function个人觉得实在是没有多少必要去看了,一是太过时,二是从blog置顶的dx管线的图可以看出,ff到programming shader,管线实际上是更简单清晰。
至于你提到的红宝书,实际上也稍稍有些过时,即使是最新的第七版,国外amazon上评价也相当差,最重要的原因就是Page after page of deprecated API quot;,反倒是OpenGL SuperBible评价要高很多:)
  2011-01-04 17:25 hero329
如果,上天能给我一次重新来过的机会,我愿意从
Computer Graphics C Version
Mathematics for 3D Game Programming and Computer Graphics
两本书学起。
OGL、DX3D神马的都是浮云。此话一出某些人又要笑了。
  2011-03-02 08:42 @clayman
你好,请问数学方面的话是选择从高中数学(高一到高二,选修的不看),线代,高等数学看呢还是选择直接看介绍3d数学方面的书比较好。
2011-03-02 23:21 MyMath
如果以前学过高中数学,只是记不清了,可以直接看3D方面的数学书。现代的书最好找来看一下,高数如果没时间可以慢慢看,刚开始做3D一般还不需要用到高数。
  2011-03-05 17:02 @clayman
谢谢博主的回答。
  2011-03-22 23:04 楼主你好,我想请教一下,我想在DX9.0下用shader实现火焰和爆炸特效的制作和渲染,请问有哪些书可以参考呢?我找了很多资料了,NVIDIA网上和GPU Gems上有基于DX10的,可就没有DX9.0,我不会用几何着色器啊,我显卡也比较老,不能支持。我目前看过了DirectX的龙书还有Cg tutorial,请您再推荐本书吧,不胜感激!
2011-03-23 23:06 爆炸和火焰都是粒子系统,无非就是发射器,billboard,纹理动画这些元素。龙书第二版(A Shader A roach)那个基于dx9的粒子系统就很适合初学者,另外ShaderX3上有篇关于粒子系统的文章值得看看,另外这里有个xna的demo你可以参考一下:
  2011-04-03 01:50 谢谢楼主!
  2011-04-17 21:44 请问博主,有没关于代码优化方面的书籍或者资料。
2011-04-17 23:11 Nin+.Lee
网上可以找到Video Game Optimization了,还没时间看,不知道好不好
  2011-04-18 09:52 clayman
哦,那我先帮你看看哈~~看好了告诉你。
  2011-04-20 17:00 博主,看了你的文章很受启发
至少我大概了解了学习的一个方向
不过还是有一个问题我还是想要请教一下
我目前正在从龙书开始学习,有点入门的感觉了(刚开始就感觉跟天书一样,现在基本能看懂了,当然很多API的意义还是不懂,只是当做基本框架来用,比如前面有人说的lock什么的,)
因为我是从别的行业转入游戏开发,而且是自学,比较辛苦
所以我想知道,我这样自学需要学到一个什么样的程度才可以去游戏公司工作,我觉得行业内工作了进步才会更快,所以我是想尽快能入行,摆脱自学的阶段
之前是以为学的差不多了,做几个DEMO就可以了,不过很多人又说应聘人家根本不看DEMO,我是想比较有把握了才去做某事的,
我想知道的就是:以我现在这样的状况,学到什么样的程度可以被多数游戏公司认为是可接受(或者可培养)的员工。稍微具体一点,比如要做demo,那demo要展现出什么样的水平。
博主,非常期待您的回答,那会像灯塔一样为我指明前进的方向(囧,有点矫情了,哈哈~)
  2011-04-20 17:13 对了,博主,还有一个额外的问题,抱歉问题比较多哈:(
我觉得游戏引擎比较有意思,所以最近在学习使用虚幻3,现在基本不玩游戏了,想放松就用虚幻三做关卡玩,比玩游戏有意思。
因为以后学到一定程度,肯定是需要参考学习游戏引擎的代码什么的
那我现在是不是学习一款开源的引擎比较好呢,比如OGRE什么的(不过貌似OGRE只是图形引擎,不过也正是我所需要的)
再一次 thanks a lot!
2011-04-21 22:37 xshangyong
其实图形只是游戏里的一小部分,加上大部分游戏公司都没有自己的引擎,所以工作以后真正能做底层图形开发的人并没不多,更多的可能是ai,游戏逻辑方面的脚本开发。最好先找准自己的定位,你喜欢做关卡的话,可能游戏逻辑开发更适合你,不妨多接触些ai方面的东西:)
  2011-04-21 22:41 谢谢博主回复
那AI,游戏逻辑方面的脚本这些东西要学的话
从哪里入手比较好呢
比如需要什么书籍,对这些不是很懂啊
很希望能有进一步的交流,我的qq是 282984685
不知道可不可以在qq上多聊一会呢~
  2011-04-21 22:55 之前一直在花时间学习Directx
对游戏开发别的方面就不是很了解了
尤其是游戏逻辑方面,根本不知道是做什么的啊~
如果学逻辑要怎么开始呢
然后又要回到刚才的问题
如果要去公司应聘逻辑开发
那要学到什么地步呢~
楼主,额不,博主,加我个qq吧~
不会花你很多是时间的
  2011-04-22 16:16 博主, 现在自己开发图形引擎的公司还多吗? 以后的图形程序员是不是都在现有框架下, 编写shader之类的程序?
另外, AI这一块, 现在的公司都是怎么做的? 是用脚本写关键逻辑, 还是全都用脚本写? 之前一个朋友跟我提到过, 把算法全用脚本写, 他说lua很快, 但是我不知道放在Online游戏的服务端, 会不会有效率问题.
2011-04-25 01:18 推荐楼上两位看看World of Warcraft Programming 2nd,很好找:)
  2011-07-22 14:31 请问博主。
DirectX 9 Graphics
the Definitive Guide to Direct3D
和Advanced 3D Game Programming Using DirectX 9.0
看完《Introduction to 3D Game Programming with DirectX 9.0》这本厚,,你介绍的这2本,,那本更好了??
如果您有空,就给我说下。。谢了。。。
  2011-07-26 21:51 博主你好,我想问下,看龙书前需不需要看windows编程?
看到什么程度,就拿windows程序设计第五版这本书来说?
  注册用户登录后才能发表评论,请
最新IT新闻
知识库最新文章
网站导航: 简洁版式:
2009年5月
本博所有文章,除特别注明外,均为本人原创,本人对其保留版权,未经允许,
请勿以任何形式转载,出版,勿用于任何商业用途。
昵称:
园龄:
粉丝:
关注:
最新闪存
CryEngine 3 cookbook有电子版了~~~~
搜索 随笔分类
recommended books
Resource
积分与排名
积分 -
排名 -
最新评论
博主你好,我想问下,看龙书前需不需要看windows编程?
看到什么程度,就拿windows程序设计第五版这本书来说?
请问博主。DirectX 9 Graphics
the Definitive Guide to Direct3D和Advanced 3D Game Programming U...
这个太给力了。
--G_cofa
@逍遥剑客®VS2008没有解决,我遇到了。将入口点改为:“从父级或项目默认设置继承”也可以...
--秒大刀
推荐楼上两位看看World of Warcraft Programming 2nd,很好找:)
--clayman
阅读排行榜
评论排行榜
Powered by:
Copyright clayman信息提示
您的同一ip请求过于频繁,如果希望继续访问,请输入验证码:
Copyright 1998 – 2010 Tencent. All Rights Reserved.信息提示
您的同一ip请求过于频繁,如果希望继续访问,请输入验证码:
Copyright 1998 – 2010 Tencent. All Rights Reserved.

参考资料

 

随机推荐