個人檔案飘零风雨亭部落格清單 工具 說明

部落格


11月4日

书照,肉照

这是我买的书:

 

放上我第一次学做的回锅肉,哈哈:

12月13日

[转贴]计算机图形学读书指南|中国的游戏开发缺什么?(转)

[转贴]计算机图形学读书指南|中国的游戏开发缺什么? (转)  http://forums.gamespot.com.cn/viewthread.php?tid=67311
转自:http://www.dearbook.com.cn/Guide/ViewGuide.aspx?GuideID=135

诺大一个中国,却无书可读
创建人: szlongman

(计算机图形学读书指南)

  在论坛里,经常看到有些网友说中国的游戏开发别的都不缺,就缺好的创意策化.其实,中国游戏开发什么都缺,游戏程序设计开发,美工,3D,AI都很落后.

  目前国外流行的都是3D游戏(如半条命2),开发该类游戏的重要基础之一就是计算机图形学,而且是real-time rendering(实时绘制).因此游戏程序开发与一般程序设计不同,有一定的门槛,不象写信息管理系统程序,无论谁学几SQL语句,便能操刀上阵了.

  要开发3D游戏,首先要学习计算机图形学,但由于各种原因,国内现有的计算机图形学书籍都比较初级,没有深入的.而且都是比较传统的.2000年左右, 随着显卡技术(GPU)的革命性突破,实时绘制大行其道,国外这方面的书籍很多,可在中国却看不到,我国没有把外版书直接放在书店卖的传统(怕太贵卖不掉,一本书要五百人民币左右);要等翻译吧,国内一年在这方面也翻译不了几本,而且等到翻译出来了,有些技术也成昨日黄花了,再说翻译的水准也不行(估计翻译的人员自己也不太懂);等影印版吧,便宜,可国外出版社哪肯把能卖大价钱的畅销书贱卖给我国.

  国内学术界的杂志关于计算机图形学的文章很少,不象国外有很本多专门的计算机图形学杂志,而且高水平的很少.于是国内这方面的印刷资料基本上没有.国内也有些人编过3D的编程书籍,但太小儿科,这样的书没什么帮助.

  常看英文文献的网友,会去国外下载高水平论文(如SIGGRPAH),但由于这些论文都需要一定的背景知识,否则很难看懂.这些背景知识散见于以前的论文和书籍.前面说过图形学外文书籍国内是不容易找到的,有些论文在网上只有会员才能下,一般人只能看个摘要.

  所以,在国内一个业余爱好者研究计算机图形学的环境很差,有些网友虽然会依葫芦画瓢写VERTEX SHADER,PIXEL SHADER来达到特殊的效果,但对于这些程序背后的原理却一点儿不清楚,direct3D下有很多例子,能理解的人又有几个,HDRI, Subsurface Scattering这些术语背后后技术更是很少有人涉及.

  由此造成国内民间对计算机图形学的认识很肤浅,没有普及,大部分计算机专业的学生都不太懂,运动员都是从群众中选拔出来的,群众体质较差,运动员也好不到哪儿去.可想而知专业的3D游戏程序设计水平会高吗?--- 空中楼阁.

  而国外不一样,一个业余爱好者占有的资料会比大学教授都多,水平也就更高.(看看国外那些个3d引擎)国内大部分的游戏开发论坛都没有实质性内容,很肤浅.

  所以希望出版社或相关部门能意识到这个问题,出版社最好能直接引进高水平,有深度的计算机图形学图书
(不要老是VC,VB,JAVA),语言是工具,只有运用到各个专门领域才能发挥更大的作用.

  这些都是高水平的real-time rendering书籍,看看国外有这么多,那儿的业余爱好者多幸福.

  这些书国内基本上没有,国内的业余爱好者有多悲惨.

forthcoming March 2004: Essential Mathematics for Games and Interactive Applications, Jim Van Verth and Lars Bishop, ISBN 1-55860-863-X
forthcoming April 2004: GPU Gems, edited by Randima Fernando.
forthcoming October 2003: Collision Detection, by Gino van den Bergen (table of contents)
forthcoming December 2003: Game Physics, by Dave Eberly (companion web site)
forthcoming October 2003: ShaderX2: Introductions and Tutorials with DirectX 9, edited by Wolfgang F. Engel (table of contents)
forthcoming October 2003: ShaderX2: Shader Programming Tips and Tricks with DirectX 9, edited by Wolfgang F. Engel (table of contents) note that this is a separate volume from the previous book
forthcoming: Essential Mathematics for Games and Interactive Applications, by Jim Van Verth and Lars Bishop, Sept. 2003
Graphics Programming Methods, edited by Jeff Lander, July 2003
Real-Time 3D Terrain Engines Using C++ and DirectX 9 , by Greg Snook, June 2003
3D Computer Graphics: A Mathematical Introduction with OpenGL, by Samuel R. Buss, June 2003 (sample code, etc.)
Advanced 3D Game Programming with DirectX 9.0, by Peter Walsh and Adrian Perez, April 2003.
The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics, by Randima Fernando and Mark J. Kilgard, February 2003 (Sample chapters and more, Gamasutra excerpt)
Game Programming Tricks of the Trade, by Lorenzo Phillips, Sept. 2002
Direct3D ShaderX: Vertex and Pixel Shader Tips and Tricks, by Wolfgang F. Engel (Table of Contents and more; Introduction; Samples 1 & 2), 2002
The OpenGL Extensions Guide, by Eric Lengyel (table of contents and sample, in-depth table of contents)
3D Games, Volume 2: Animation and Advanced Real-Time Rendering, by Alan Watt and Fabio Policarpo (their Fly3D SDK is online), 2003
Game Programming Gems 3, edited by Dante Treglia and Mark DeLoura, 2002 (see the series web site for upcoming volumes)
Geometric Tools for Computer Graphics, by Philip Schneider and David Eberly, Sept. 2002 (companion web site)
Focus On 3D Terrain Programming, by Trent Polack, Dec. 2002 (comes with CD; Publisher's description)
Vector Game Math Processors, by James C. Leiterman, Dec. 2002.
3D Math Primer for Graphics and Game Development, by Fletcher Dunn and Ian Parberry, Dec. 2002. (more information at their site)
Fundamentals of Computer Graphics, by Peter Shirley, July 2002
Real-Time Shading, by Marc Olano et al., July 2002
Level of Detail for 3D Graphics, by David Luebke et al., July 2002 (companion web site)
Advanced 3D Game Development with OpenGL, by David Byttow and Ryan Parker, 2002
Real-Time Shader Programming, by Ron Fosner, Dec. 2002
Jim Blinn's Corner: Notation, Notation, Notation, by Jim Blinn, July 2002
Software Optimization Cookbook, by Richard Gerber, March 2002
Real Time Rendering Tricks and Techniques in DirectX, by Kelly Dempski, 2002
Texturing & Modeling: A Procedural Approach, 3rd Edition, by David Ebert et al., 2002 (companion web site)
Special Effects Game Programming with DirectX 8.0, by Mason McCuskey, 2002
Non-Photorealisting Computer Graphics, by Thomas Strothotte and Stefan Schlechtweg, June 2002 (companion web site)
Mathematics for 3D Game Programming & Computer Graphics, by Eric Lengyel, 2001
Game Programming Gems 2, edited by Mark DeLoura (Table of Contents and introduction), 2001
OpenGL Game Programming, by Kevin Hawkins and Dave Astle (source code), 2001
Subdivision Methods for Geometric Design: A Constructive Approach, by Joe Warren and Henrik Weimer, 2001 (companion web site and publisher's web site)
Non-Photorealistic Rendering, by Gooch and Gooch, 2001
Computer Animation: Algorithms and Techniques, by Richard Parent, 2001
Practical Algorithms for 3d Computer Graphics, by R. Stuart Ferguson, 2001
Game Programming Gems, edited by Mark DeLoura (Table of Contents and code updates), 2000
Game Engine Design: A Practical Approach to Real-Time Computer Graphics, by Dave Eberly (his code is online), 2000
3D Games, Volume 1: Real-time Rendering and Software Technology, by Alan Watt and Fabio Policarpo (their Fly3D SDK is online), 2000
3D Graphics Programming: Games and Beyond, by Sergei Savchenko, 2000
Computational Geometry: Algorithms and Applications, by deBerg, Van Kreveld, Overmars, and Schwarzkopf, 2000
Computer Graphics Using OpenGL by F.S. Hill, Jr., 2000 (Table of Contents and sample chapter)
3D Game Engine Design, by David Eberly, Jan. 2001 (companion web site)
Essential Mathematics for Computer Graphics Fast, by John Vince, Oct. 2001
Computer Graphics Through Key Mathematics, by Huw Jones, May 2001
Mathematics for Computer Graphics Applications, by Michael Mortenson, 1999

国内无书可读的环境一日不改变,说什么提高中国游戏开发水平都是空谈.

-----------
读者评论(叉包选贴)

一切都是利益(读者 61.171.211.*于2005-3-21)
   
  楼主所列的书籍,是经典中的经典,可惜一切东西必须由市场所支配。在国外存在这么多优秀书籍,是市场发展和研究结合的必然,而国内,还处于起步阶段,自然应用性的书籍泛滥,重复,垃圾!此外,国外的书籍太贵,可是国内不仅市场狭小,翻译更是让人不可思“意”!浪费纸张,浪费金钱,浪费精神!“幸好”存在盗版的电子书,可是谁的眼睛又受得了显示器的日久折磨?为中华崛起而读书?书之不存,崛起何谈?所以建议国家相关部门应该重视引进优秀教材,整顿垃圾图书的污染,充分体现先进文化前进方向的代表作用!

[无题](读者 221.216.202.*于2005-3-23)
  没错。中国还是什么东西热门什么东西人多的国家的,都不是发挥自己有点的国家。个人全功能英雄主义太过严重,殊不知其实做好你自己的一方面也是英雄

一个人盖不起一幢大楼(读者 fuye13于2004-10-19)   
  是的,关于“游戏”方面的相关知识很多AI、图形学、算法和数据结构、神经网络、粒子系统、透视等数学、美术、音乐(就我所知,国内没有音乐制作高手,这就是为什么许多即使港台海外的中文游戏,音乐一栏也是个老外的名字,比如“三国群英传”,而3D制作全球顶尖高手12人,美国有8个,好莱坞索尼娱乐有3个),但一个人没必要都掌握更不可能都精通,这就好比别人知道你大学是计算机专业的,也不管你目前是攒机器的水平,楞找一个汇编程序让你调试,因为 “计算机”这个行业的知识体系太庞大了,除了它本身的知识还关系到许多科学领域比如数学、生物学等。而别人只知道你是“搞计算机的”。其实我们的老师,在国外IT行业有平均10年左右从业经验,也只是一方面的专才而已,不是他们弱,而是国外的产业结构强,同样道理,“游戏”的许多领域,只有细分,每个细节都做到精致,整个产业才能强大起来,没听说过有哪个人能盖起一幢大楼的,前期的预算,设计阶段的建筑、结构、暖通、布线……一直到最后的收盘,可能吗?其它部分知道有这些名词,大体是干什么用的,把自己的关注点(越小越好,技术方面越细腻的东西可操作性越强,计算机技术尤其如此)搞得烂熟直到精通就行了。

楼上的看来也是个门外汉吧!(读者 61.51.215.*于2004-8-3)   
  我跟作者有完全相同的看法,尤其是对于学习3D图形学。
  这些人总是以为可以不通用学习数学,连初中数学都没有完全通过的水平就去学3D,这是白日做梦。更有借此机会大捞一笔的教育开发商,号称180天造就游戏精英,我就不相信大学数学没有学好的人连真正的学好3D!!!!!!!
  真正的3D技术人家几十年前就已经创立了,知道为什么卡马克是天才吗?因为人家的基础比你不知道好多少。这个基础不是指的计算机基础,而是理论基础,不要把“读书无用论”抱出来,那是废物才谈论的东西。
  
  对于“若大一个中国,都无书可读”这个意见我非常支持。因为我现在就是这样,已经养成了一查资料就去国外网站的习惯。还好我英文不是很差,否则,这一切就只能等着中国的书藉翻译——何年何月啊?

我看图形学书籍.(读者 207.46.71.*于2004-7-27)   
  大家都说图形学书籍, 我学习图形学有十年以上了, 觉得下面这些书还是不错的:
  
  1. CGPP: Computer graphics, principles and practice.
  这本书是图形学的Bible. 书的内容有些老了, 但是看看可以增强"内力".
  2. Advanced Animation and Rendering Technqiues.
  Watt写的图形学书, 可以作为前面书的一个补充, 非常好.
  3. OpenGL Programming Guide
  红宝书, 熟悉GraphicsPipeline, 不知道Pipeline, 何谈Shader.
  4. Real Time Rendering
  近年来值得一提的好书
  5. SIGGRAPH Course Notes
  每年SIGGRAPH Course Notes是非常好的特定领域文章的综合.

[无题](读者 218.65.204.*于2004-5-28)          
  不要好高鹜远,先把基础的图形学原理以及线性代数(特别是矩阵运算)、离散数学学好了再去研究什么实时绘制吧。

FatGarfield, 此位老兄比较热心.(读者 littlepig_2002于2004-6-12)
  我用EMAIL问他有没有好书, 此老兄说可以帮我复印. 但我还是谢绝了.
  我认为中国在很多领域没有形成一个完整的技术链. 如果只是复印一, 二本书, 不能解决问题, 至少对于我来说是如此.
  我把图形学分成三个阶段.
  上游: 数学书. 图形学需要的数学基础.
  中游: 图形学书. 用于学习专业的图形学技术.
  下游: DIRECT3D, SHADER及其它游戏开发的书. 用于实践.
  中国现在在图形学方面有一些好书. 比如英文的<<图形学算法基础>>, <<真实感图形...>>, 还有其它一些好书.
  但在上游和下游, 中国真的是还缺乏.
  如果没有数学基础书, 学习就像空中楼台, 没有支撑.
  如果没有实践开发书, 图形学也只是计算机科学, 还不能指导我们开发出一些较完整的软件. 毕竟少有人专门研究图形学, 也不是每个人都能到学校里面当老师, 做研究, 解决吃饭问题.
  这些方面中国都缺乏, 看来不是短时间内可以解决的. 出版社为盈利或不知道引进什么书.
  
  不如大家凑些钱买些国外经典书, 大家轮流看. 当然, 如果有人为了可以天天看, 而复印了原版书, 我们可制止不了, 而不是我们侵犯知识产权. 还是那句话, 支持国产软件, 购买盗版软件. gamegamegame999@sina.com


[无题](读者 61.177.43.*于2004-6-12)
  正因为国内与国外的科学技术相差太远,所以目前才大量地引入国外经典的原版教材,我为之叫好。他给国人打开了一扇知识之窗。
  
  FatGarfield的图形学的读书单子
  http://www.china-pub.com/compute ... tid=2&boardid=1
  写得非常好,让我们知道了国内书籍以外的世界。
  外面的世界很精彩。
  
  其实这本该由该领域的专家教授来写,恕本人陋见,迄今为止,我还没有在公开场合看到过这样的推荐书单。
  
  有人说:“推荐的这些书与教学方法等于空中楼阁,解决不了中国的实际问题!”

  什么是实际问题,拓宽学生的知识面就是实际问题!

图形学??(读者 61.175.36.*于2004-5-22)   
  图形学涵盖的范围很广,楼主说的只是图形学中的很小一部分。例如图像识别,空间几何建模,实时图像等在国内都有人研究。不是我国的图形学不强,而是高技术含量的东西在国内都得不到交流。我们的教授们都在为每年的几篇论文和职称奋斗,哪有几个人有空来做科普教育!
  说话不要一棒子打死!看看微软研究院的研究,看看浙大的实验室。
  东西是自己学的!

[无题](读者 61.139.72.*于2004-6-7)         
  浙大的图形学研究还是不错的.你们到浙大网站上能搜到不少关于图形学的东西,包括一些图形学最前沿的东西,比如分形,还有VR在图形学领域的应用,以及他们做的一些图形几何核心的信息.

赞成,不过I THINK专业化的发展是推动图形学发展还是很有帮助的(读者 221.10.53.*于2004-6-4)
  没有形成良好的环境和市场。关键是游戏开发的大环境,我前段时间看了些引擎。包括很多国内的游戏开发网站,其实情况不是太遭。只是说3D的门槛确实比较高。而且学校的计算机图形学教材更像是学术期刊。

万本书就像万级台阶, 让美国人扎扎实实的走到了帝国大厦的顶层.(读者 littlepig_2002于2004-6-4)
  亚马逊中的上万本专业书籍:代数, 数学, 几何, 图形学, PS/VS, DX/OPENGL 就像是上千级台阶, 让美国人从地面慢慢的一级一级的扎扎实实的走到帝国大厦顶层去观看美丽的纽约风光.

时光如逝, 岁月如歌. 忆往昔, 如火如荼的大跨进, 看今朝, 数据库的新理论.(读者 littlepig_2002于2004-6-2)   
  今天有时间上网, 看了楼下前辈的贴子, 使我精神抖擞, 精神百倍. 看往昔, 我们有大跨进的光辉历史. 看今朝, 我们数据库编写人员利用"压缩算法", "神经网络", "小波运算"来开发数据库, 使我的感想颇多, 我的思想在过去, 现在和将来, 以科利华老总讲过的量子不确定踊跃理论在这三个时代不停的跳来跳去, 仿佛是吸了几口白粉, 让我神魂颠倒, 精神错乱. 我认为中国有希望了, 中国有明天了, 中国有未来了. 中国在几年内必定成为世界第一的强国.
  
  时光如水, 岁月如歌. 看往昔我们有大跨进的光辉历史, 看今朝我们有拥有世界一流技术的公司和不需要资料就可以成功的天才, 谁能说我们中国没有希望? 谁敢说中国没有希望? 你敢说? 看楼下那些没有书籍就能成材的天才了吗, 他们会骂死你的.
  
  在民族产业方面, 我们中国有多少品牌? 联想的电脑, 瑞联无声无息开发的2D&3D通用引擎, 托普招聘6000软件工程师. 我们中国有多少公司拥有自主知识产权, 他们的口号都是振兴民族产业. 他们也是这样做的.
  
  在科研方面, 我国的论文数量居世界前列, 我们有成堆的教授. 就图形学方面, 我们网上书店的书不下100本, 这就是我们的资本, 与世界竞争的资本.
  
   看看我们中国最大的网上书店亚马逊(AMAZON), 我简单的搜索了一下(当然没有时间确定书的内容是还相关), 计算几何--6412本, 分形几何--2837本, 光线跟踪--24174本, 动画理论--5000本, opengl--304本, DirectX9--490本, vs/ps也有上百本. 再看看美国的第八书城, 计算几何--0 , 分形几何--0, 光线跟踪--0, 动画理论--0, opengl--25, DirectX--0. 我们的亚马逊还有数学书, 图形学书, 3D游戏开发书数万本. 而美国这样的书却少的可惜.
  
   这是什么, 这就是差距, 是外国人与中国的差距. 外国的书少, 比不过我们中国. 外国的人才就更比中国的差了.我们中国的人才个顶个的棒. 我们中国有不需要书籍就可以自通成专家的人才, 有写数据库用小波理论的人才, 有可以天天上网看资料的人才. 怎么样? 美国人不行了吧. 我可以说, 美国人现代所谓的专家写出的游戏是垃圾, 将来那些所谓的专家写出的游戏注定是垃圾. 为什么? 因为你没有像中国这样多的资料, 也没有像中国这样多的各式各样的天才.
  
  最后再引用科利华老总的不确定量子踊跃什么什么理论. 中国人将以大跨进前辈的精神为榜样, 以量子跳跃什么什么理论为指导, 将在未来的5年内应用物理学什么什么跳跃理论成为世界第一的世界强国.

[无题](读者 qwycd于2004-6-2)         
  看了这么多关于国内的图形学的帖子,也来说两句。我在欧洲的一所大学攻读CS(不是那个CS :( )硕士学位,主攻方向也是多媒体,由于这里的书太贵,常在购书网上找书。
  
   我感觉中国的计算机图形学没有优秀的教材是我们忽视基础学科的体现,实际上就是物理和数学基础理论薄弱。我所在的学校不是一所世界知名的大学,但它的理论物理是世界知名的,有很多中科院物理所的人来此做访问学者,看着他们能安心下来做学问很是羡慕,国内什么时候能这样就离科学强国不远了。
  
  上个星期看一部电影叫“the day after tomorrow”,其中的一个镜头,大西洋上掀起巨浪淹了整个曼哈顿,是用计算机模拟出来的。感叹美国人的多媒体技术,巨浪的移动、光照、碰撞等可以乱真。短短几分钟的镜头体现了这个国家的科技水平。

[无题](读者 218.4.190.*于2004-5-28)
  国外的计算机图形学研究就是这样,和实际的应用贴得很近,电影特效、动画中所用到的都是最新的研究成果。反观国内,学术界和CG界就像是两个陌生人一样。从无来往,也从不关心对方的存在。
  而且还有一个奇怪的现象,学术杂志,书籍很少提到那些
  国际上知名的图形学研究专家,新的技术,在非技术性的CG杂志上却有介绍,在CG杂志上有不少图片来自于SIGGRAPH.
  
  从这种现象,能看出什么问题呢?
  
  szlongman

图形学不仅仅游戏(读者 218.71.178.*于2004-6-2)   
  怎么没人提到图形学在工控,产品建模等方面的作用,这些方面带来的利润根本不是几个游戏能比得。

没有核心技术的中国计算机产业(读者 cdl8312003于2004-5-30)       
  没有核心技术的中国计算机产业,在计算机产业中除了软件还有硬件,其实软硬结合才会真正的推动整个产业的发展,看台湾的计算机软件发展,再看看大陆的程序员,其实聪明智慧程度一样,但从对技术的精深程度上,自我感觉有差距!

[无题](读者 219.82.124.*于2004-5-30)          
  不仅是此方面,偌大一个中国,可以说技术方面深入点的也无书可读,etc.国内写的深入讨论socket网络编程的书有几本?directx的书有几本?介绍c cgi的书有几本?asp、php的书我都不想说了,都是抄来抄去,而且自己写不出还不算,还不肯进口翻译国外的经典书籍,看看上海、杭州的最大的新华书店的电脑专柜,都是垃圾书,真不知道进货员是怎么进货的,shit~

[无题](读者 218.90.154.*于2004-5-19)          
  也没有必要把quake cs 和图形学搞在一起,那两玩意现在不知道害了多少祖国的花朵哦

有同感啊(读者 210.22.146.*于2004-5-27)       
   szlongman, 这位朋友的见解,我非常赞同,兄弟真是知己. 我也是一个游戏开发迷,但在国内确实没什么令人心动的书籍可以阅览. 国外的那些经典教材不但写得很实在,而且也讲到了最新最前沿的技术, 小第看过一些E文的,令人热血沸腾!
   只可以,在国内没有这样的书籍,那怕即使E文的也没有. 我现在不奢望能在网上免费下载正如szlongman朋友说到的那些书籍, 只要能买到. 我已经十分满足了. 现在我仍然处于知识饥渴状态, 有没有朋友可以多推荐一点好的网站,非常感谢.

读后感(读者 218.104.151.*于2004-5-25)         
  我是一名普通大学的本科生。

   自小就有一愿望——以后要做游戏程序设计员。没看本篇前,我总觉得只要掌握几门程序设计语言就能编游戏,所以义无返顾的报上了计算机专业。以为学上几门语言以后就去游戏公司混去。看了本篇后,大量的数学学科把我吓蒙了。太难了,光看名都觉得是天才去学的东西,更何况我是一个对数学不感冒的人。而现在的游戏都是以3D为主。我在想如果我要坚持我的理想我要付出多少,而我的选择又是否正确。这是我当初选择的错误还是我对计算机发展速度错误的估计?

大家还是不要学习这方面的好.(读者 littlepig_2002于2004-5-25)
  图形学的绝大部分内容都是涉及到数学. 3D游戏当然也需要数学. 首先就说几何吧. 图形学需要几何的基础. 但是大家到网上看看, 哪里能买到空间解析几何的书? 基本上没有. 当然, 可以向数学系的借. 计算几何呢? 网上更没有卖这样的书的. 周德培到是写了一本, 但绝对不是入门的书. 而入门级的书却找不到. 其它的方面, 比如光照, 光线跟踪等等, 没有一本专门的书介绍这些内容. 而动画呢? 微积分, 线性代数, 数值计算也是需要的, 令人安慰的是, 这方面的书中国可以以吨计了 为什么? 因为考研需要.
   现在的后备力量是学生, 他们即没有时间成天上网看外文的资料, 也没有钱来买外国的书. 除了专门研究图形学的应用数学和计算机科学专业的研究生和掌握了半吊子3D游戏开发知识的重点大学的学生们,以及技术狂热者几年的赔个底掉的研究, 很少再有人可以进入这个行业了. 因此, 在这样的缺医少药的情况下, 还是不要有更多的人学习这门知识的好. 毕竟大家还要糊口.
  3D游戏开发绝对不是像看3D游戏的美丽风景那样的舒服.

[无题](读者 wbwap于2004-5-23)        0人同意、0人反对   
  不能太刻意去强调某些方面,并拿这些和国外相比,毕竟国情不一样,我们不可能拿着大笔资金投向游戏产业。毕竟我们的主要支柱行业还不是那么的好。
  
   对于书籍,我们写不出来?正常。没技术嘛。。不过那些学英语的人都是干吗吃的?难道就不能为我们做些贡献?要知道看影印版的书籍是好,不过对于一个不是专门学英语的人来说也是很吃力的。甚至有看不懂的地方,所以这些都需要社会各方面协作,,我想若干年后,我们自然不需要再读别人的书,,因为中国人是最强的!
  
中国整体需要提高!(读者 218.9.113.*于2004-5-22)   
  教育导向就不对,游戏本身就得不到承认。
  学图形学需要有比较好的数学基础,这样的好学生有几个在做游戏?
  还有盗版,直接导致游戏公司挣不到钱!
  就在现在还有人把游戏同海洛因划等号……话说得再多没有用,需要自己悟!
  东西是要自己学的,这话没错,但终过缺少学习资料也是不争的事实。多学点英语吧!还能怎么样?!
  你见过skinmesh的完整的中文资料吗?至少我没找到,至少是不太好找……
[无题](读者 211.71.6.*于2004-5-14)        0人同意、0人反对   
  学图形学也有两年了,除了上过两门课,仔细看过的书就只有GL权威编程指南,也试着Principles and Practice。
  不过个人以为图形学在我国落到这步田地是正常的。我们可以在几年内学到人家50年积累的游戏技术,却不能开拓出人家那样的游戏市场。

中国为什么没有好游戏! (读者 61.235.136.*于2004-5-13)            
  
   在中国居然有人认为,游戏策划就要设计出具体每个类的功能。WK!如果国内都是这样的话,我看中国就只能出一些小游戏和一些......(作者删去5个字)的RPG。
  
   之所以中国现有的RPG游戏还能买出去,是因为中国没有更好的,玩家在不得已的情况下别无选择(为了不饿死,只能吃猪食)。不好意思,话可能重了点,但是不这样说不能抒发我心中的气愤。如果你现在见到我,你会发现我气的直颤抖.....

中国游戏不发展的原因同科举文化有关!(读者 XCOOL于2004-5-10)
  发展游戏所带来的好处不单单就是多了几部娱乐作品,更多的就是培养了优秀的软件设计和工程人员,同时一部好的游戏对玩家也有很大的教育意义,做游戏的比做MIS的工作量和技术复杂度和技术创新的挑战性都大多了,而且发展游戏能够提高国家在人工智能,仿真,计算机图形学,虚拟现实,人机交互,软件工程等等领域的实力,但是国家愿意花那么多钱去扶植做MIS的企业,而对于做游戏的却多处于挤压的地位。因为总有那么多保守人群认为,游戏耽误了孩子学习呀,孩子沉迷于游戏会耽误了前程之类的。其实这是一种科举文化的遗害。我们要的下一代,不应该是那种高分低能之辈,而是有素质、有创造力的人才。不要老是用培养奴才的眼光去看下一代的教育,而应该多多思考是不是对下一代人性化一点。好的游戏作品能够在玩的同时提高玩家的自身素质。如果说沉迷游戏是游戏的错的话,那么因暴食而长胖就是米饭的错了。

......(202.104.103.*2004-5-2)
  看看我們的學校,都在教點啥,看看我們的老師他們都會啥,程序員當老師教計算機的有嗎?無非是一大堆單片機,永遠不會丟掉碗飯的底層理論主義,計算機老師們都不會偏偏要我們承認差距,要我們去買影印版研究,看看我們考級考的啥,看看我們等級考試考的啥,不是我吹,現在全國教DBASE III的一大堆。這就是現實現況,我們拿什麼去拯救......

You create it(读者 61.177.18.*于2004-4-30)        0人同意、0人反对   
  大家都看过水世界,泰坦尼克号,我们都为电影中那些以假乱真的电影特技深深地折服.那些计算机生成的高度真实感的海洋让人看不出破绽,大家有没有想过这些场景是如何制作的呢?以前这些场景都是用先进的SGI图形工作站才能完成,业余爱好者根本没法接触到这些技术.但是技术的飞速发展,使用千元左右的 NVIDIA显卡在PC机上就能实时生成真实感的海洋.
  旧时王谢堂前燕,飞入寻常百姓家.
  学术界也越来越多地运用带GPU的PC机来展开研究.
  因而,目前我们计算机图形学的业余爱好者正处于一个非常好的机遇.
  
  
  我不知道大家有没有深入地研究过计算机图形学.
  要真正理解计算机图形学,必须灵活地运用高等数学,线性代数,计算数学等知识,还要有较好的英语(因为资料大部分是英文的),
  当然还要学习大量的图形学算法。(很多算法并不是一成不变的,在真正实现时有很多的技巧)
  所以我说搞计算机图形学,要求的门槛较高,要求理论与实践并举。
  
  我是个计算机图形学的业余爱好者.
  由于资料的限制,学习中充满着艰辛.
  对于一些深入的课题,比如说绘制具有高度真实感的水流,海洋,高山,火焰,烟雾,布料,没有相关的系统性资料.
  有一些图形学中相当经典的图书,论文,作为业余爱好者,我是看不到的.
  由于3D知识不普及,周围很少有人与你有同样的兴趣.
  说到3D,就知道3DMAX,MAYA,很少有人去想一想这背后的图形学原理.永远只能跟在外国人之后亦步亦趋.
  
  我常戏称自己的学习是"一个人的学习",没有人可以问,没有人会帮你解答,
  路途上只有你一个人,很孤单.
  
  No one knows,and each person can have a significant effect on the way the future turns out.There is no one future,no course that must occur.You create it.
  摘自<>的最后一句.
  
  You create it.我很欣赏这句话.
  国内的学者,是吝啬这句话的,好象学术只是大学里的专利.
  
  我写'无书可读'的本意就是想呼吁一下创建一个良好的读书氛围,让更多的人参与进来,有书可读,You create it.
  中国人很聪明,为什么在学术上一直落后?一个很重要的原因是,一个人大学本科毕业,研究生期间,教师便没有更多的东西教给他了,他即使想自学,图书馆里也没有什么新的,深入的图书可供阅读.而国外就不同,研究生期间,有大量令人兴奋的知识在等着他来学.
  
  最后我还是以You create it.来结尾.



白话说学计算机图形学(转)

白话说学计算机图形学(转)

来源: http://www.china-pub.com/computers/bbs/addfollow.asp?id=36986&rootid=2&boardid=1

FatGarfield       →『 白话说学计算机图形学(1) 』 
 


发贴数:8
跟贴数:19
Oicq:  移贴 | 删除 | 编辑 | 短信 | 邮件 | 固顶

--------------------------------------------------------------------------------
关于计算机图形学的学习
注意:
本文尽量避免理论化的描述,试图用最通俗的语言介绍一下计算机图形学的学习,以及一些参考书目和网络资源;
本文不涉及对概念的定义,以免陷入学术讨论之中
本文是作者学习计算机图形学的体会,如果有不同的意见,请不要攻击和漫骂

本文合适的题目应当是:白话说学计算机图形学?

1. 引言
什么是计算机图形学? 本文尽量避免给它做严格的定义,但是通常来说,计算机图形学是数字图象处理的逆过程,这只是一个不确切的定义,后面我们会看到,实际上,计算机图形学、数字图象处理和计算机视觉在很多地方的区别不是非常清晰的,很多概念是相通的。
计算机图形学是用计算机来画东西的学科,数字图象处理是把外界获得的图象用计算机进行处理的学科。在法国,图形图象是一门课程。
如何学习计算机图形学呢?除了计算机图形学的基础知识以外,你还需要有以下的知识,你懂的越多,当然做的越好。
* 英语, 你一定要把英语学好,如果你想学习计算机图形学的话,尽量看英文的书籍和资料
* 数学, 计算机图形学里面的数学用的比较多,,我们可以列举一些常用的:
高等数学,数值分析,微分几何,拓扑,概率, 插值理论,(偏)微分方程…
* 物理, 如果你要进行基于物理的建模,一些物理理论是要学习的:
力学(运动学,动力学,流体力学…),光学,有限元…
* 编程语言: C或C++是计算机图形学最通用的‘普通话’,
* 数据结构: 你需要数据结构来描述你的图形对象,除了通用的链表、树等数据结构外,图形学还有自己特殊的数据结构
* 其他类别: 有的时候你需要其他学科的知识,根据你的需要去学习吧

上面列举的不是你必须学习的东西,而是计算机图形学可能会用到的东西,一定要记住,不要指望通过一本教材就学会计算机图形学,它比你想象的要复杂的多。
 
 


2. 图形学的问题
每个学科都有自己学科的特定问题,图形学要解决的是如何画出图来,得到需要的效果,当然这是图形学最大的一个问题。

在开始学习计算机图形学的时候,找一本简单的书看,对计算机图形学有个大概的认识,你就可以开始图形学之旅了:

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.4, Fourth Edition
OpenGL SuperBible (3rd Edition)

是比较好的学习计算机图形学的入门教材,在练中去学,一开始就去啃

Foley的
Computer Graphics: Principles and Practice, Second Edition in C
不是好主意,会看的一头雾水,一本什么都讲的书的结果往往是什么都没讲清楚。
当你把OpenGL的基本内容掌握之后,你对图形学就有了大概的了解了

那么下面你可以来学习一下计算机图形学的数据结构和算法,下面的书比较适合
Joseph O'Rourke 的Computational Geometry in C,书里面有C的源代码,讲述简单,清晰,适合程序员学习

总的来说,计算机图形学涉及到2大部分:建模和渲染
2.1建模

你想画一个东西,首先要有它的几何模型,那么这个几何模型从什么地方来呢?下面的书很不错的:
Gerald Farin 的Curves and Surfaces for CAGD: A Practical Guide
这本书就有一点的难度了,呵呵,要努力看啊

这本书算是CAGD (计算机辅助几何设计)的经典图书,CAGD方面的全貌,还有2本很好的讲述曲面的书Bezier和Nurbs的书

Les A. Piegl, Wayne Tiller 的The Nurbs Book
书里面有NURBS曲线、曲面的程序伪代码,很容易改成C的,书讲的通俗、易懂,但是你要有耐心看的:)

曲线与曲面的数学
这本书是法国人写的中文翻译版,里面还有Bezie本人写的序J,翻译的很不错的,看了你就掌握Bezier曲面技术了


//另外一些你想知道的事情:其他的造型方式-开始
注意:在后面会有这样的章节,标明
//另外一些你想知道的事情:其他的造型方式-开始
//另外一些你想知道的事情:其他的造型方式-结束
里面是我认为的一些高级话题,跳过他们不影响你学习计算机图形学,但是要学好就要注意了,呵呵
还有其他的一些造型技术,比如:
隐式曲面(Implicit Surface)的造型:
就是用函数形式为F( x ,y ,z ) = 0的曲面进行造型,这样的造型技术适合描述动物器官一样的肉乎乎的东西,有2本书推荐大家
Jules Bloomenthal编辑的Introduction to Implicit Surfaces,是一本专著,讲述了Implicit Surface建模型(Modeling),面片化(Polygonization),渲染(Rendering)的问题
Luiz Velho 的 Implicit Objects Computer Graphics 也是一本专著,讲述个更新的一些进展

细分曲面(Subdivision Surface)造型
当用NURBS做造型的时候,曲面拼接是复杂的问题,在动画的时候,可能产生撕裂或者褶皱,Subdivision Surface用来解决这个问题
Joe Warren的Subdivision Methods for Geometric Design: A Constructive Approach就是这方面的专著

从实际物体中得到造型,现在的技术可以用三维扫描仪得到物体表面的点,然后根据这些点把物体的表面计算出来,称为重建(Reconstruction),因为这些技术之在文章中论述,所以我们省略对它的描述

//另外一些你想知道的事情:其他的造型方式-结束


下面还是一个高级话题:)

//另外一些你想知道的事情:光有造型是不够的!-开始
在你的几何模型做好之后,有一些问题需要对这个模型进一步处理,得到适合的模型,当面片很多的时候,或者模型很复杂的时候,需要对几何模型进行简化,才可以满足一些实时绘制的需要,这个技术叫做层次细节(LOD-Level of Detail)。下面的书就是讲这个的:
David Luebke编著的 Level of Detail for 3D Graphics
//另外一些你想知道的事情:光有造型是不够的!-结束


--------------------------------------------------------------------------------

2.2渲染
有了模型,怎么把这个几何模型画出来呢?这个步骤就是渲染啦
如果你看了上面的OpenGL的书,那么你就知道一些渲染的知识了,但是别高兴的太早,OpenGL使用的是局部光照模型(Local Illumination Model),不要被这个词吓住了

Local illumination Model指的是在做渲染的时候只考虑光源和物体之间的相互作用,不考虑物体和物体之间的影响,所以OpenGL不支持阴影,一个(半)透明物体的效果..,这些需要考虑物体之间的影响才可以实现。

//另外一些你想知道的事情:OpenGL可以实现阴影-开始
OpenGL本身不支持,但是通过一些方法可以实现的:),用Google搜索一下
Shadow Volume, OpenGL就找到答案啦
//另外一些你想知道的事情:OpenGL可以实现阴影-结束

Global Illumination Model 这类模型考虑的就比较全啦。现在关于Global Illumination的技术有3大类,具体的技术就不在这里介绍了,如果想了解,可以联系我,大家一起讨论:

光线追踪(Ray Tracing)
关于Ray Tracing的好书有2本:

Andrew Glassner 的An Introduction to Ray tracing
Glasser是图形界的名人,这本书也是Ray Tracing的经典

R. Keith Morley, Peter Shirley 的Realistic Ray Tracing, Second Edition
这本书第一版是伪代码,第二版是C代码。它的结构不是很清楚,虎头蛇尾的感觉。

辐射度(Radiosity)
关于Radiosity的好书有4本:
Michael Cohen 的Radiosity and Realistic Image Synthesis , Cohen获得SIGGRAPH 1998计算机图形学成就奖,他把Radiosity变成实际可用,现在Cohen在MSR图形http://research.microsoft.com/~cohen/CohenSmallBW2.jpg

Francois X. Sillion的Radiosity and Global Illumination , Sillion是法国人,他的主要研究方向是Radiosity,这本书写的很不错的,非常清晰

Philip Dutre 的新书Advanced Global Illumination ,看起来还不错,刚拿到手,还没看,呵呵,所以不好评价

Ian Ashdown的Radiosity: A Programmer's Perspective
有源代码的书啊!! 就凭这个,得给5*****

Photon mapping
这个我也不知道怎么翻译,呵呵。这个技术出现的比较晚,一本好书!
Henrik Wann Jensen的Realistic Image Synthesis Using Photon Mapping
Henrik Wann Jensen是Photon mapping技术的发明者

 

11月25日

推荐书籍

推荐书籍
 
人的精力是有限的,当前计算机相关书籍相当丰富,所谓林子大了什么鸟都有,所以首先不要乱读书,以免被误导或浪费时间。这样我们学习的步骤第1是选书,第2是按顺序看书。

以下是我个人认为值得推荐之书:

一.c++程序员看的书:
//------------------------------------------------------------
// 入门:
//     Lippman的书就是经典!
//------------------------------------------------------------

《c++ primer》                                        --------- 强烈推荐! 初学者经典书

    作者 Stan Lippman(c++大师,第一个C++编译器cfront作者之一)

//------------------------------------------------------------
// 初级:
//      从头到尾看过一遍,感觉对初学者还是很好的书籍
//------------------------------------------------------------
《C++编程思想》                                  --------- 强烈推荐! 初学者经典书
《高质量C++编程指南》                      --------- 强烈推荐! 初学者经典书

 

//------------------------------------------------------------
// 扎实基础并提升level(本栏书籍不得不看!):
// 本栏书籍都已从头到尾看完.( 感觉好hi)
//------------------------------------------------------------
《Inside C++ Object Model》                 -------- 极力推荐! 全面透彻了解c++ 从头到尾看完.

     作者 Stan Lippman(c++大师,第一个C++编译器cfront作者之一)

《C++ Templates》                                -------- 极力推荐! 全面透彻了解模板.

      该书被业界誉为模板的圣经!

《c++编程新思维》                              -------- 极力推荐! 被誉为挑战思维极限的书。

      作者Andrei Alexandrescu就是 撰写Loki库的怪才!

      读前请先看(Inside C++ Object Mode)和(C++ Templates)

《com本质论》                                       -------- 强烈推荐! 经典。

      读前先看(Inside C++ Object Model)

《com原理与应用》                               -------- 强烈推荐!  作者潘爱民.上书姐妹篇,读者可2选一.

 

//------------------------------------------------------------
// 提升exp:
//------------------------------------------------------------

《c++大规模编程》                              --------- 强烈推荐!   非常好,大规模编程理当看看。看了没仔细看,不过得益不少.
《深入浅出MFC》                                  --------- 强烈推荐! MFC入门经典(看过一遍,这是让我知道侯杰的一本书.)
《stl源码分析》                                     --------- 强烈推荐! 了解stl的好书。作者侯杰. 看了一大半,然后就当参考书用了.
《Effective C++》或《More Effective C++》                         ---------  经典。2001年买的书后来不见.
《设计模式》                                         ---------  经典。很薄,不过一直今没啃完.

 

//------------------------------------------------------------
// 不推荐读物:
//------------------------------------------------------------
《C++沉思录》                                     ---------  翻过一遍,感觉这本书实在是老了,现在来说可以不看。

 

二。游戏书籍:

《图形开发人员指南》  -------- 极力推荐!  国外经典好书!

       下载:

       http://www.gamedev.net/reference/articles/article1698.asp          

《3D图形编程指南  》       -------- 强烈推荐! (3d入门好书)图形基础。好像是在原来mays的开发者网站下载的
《真实感图形算法》         -------- 极力推荐! ! 国内经典好书! 从朋友那借来的.现已绝版!
《游戏开发物理学》         -------- 推荐! 看朋友推荐就买了, 没看.

《Advanced 3-D Game Programming Using Directx 8.0》peter walsh

                                             -------- 2002年看到的d3d入门好书,可惜没中文版,推荐买如下它的新版:

《Advanced 3D Game Programming Using DirectX 9.0 》

                                             -------- 极力推荐!(d3d入门好书) 这是上一本的新版

《MatheMatics for 3d Game Programming & Computer Graphics 》 

                                             -------- 极力推荐! 2002年看到的3d入门好书,可惜没中文版。

《Game Programming Gems 》1、2、3、4中文译本

                                            -------- 强烈推荐! 资料文章, 买了前3本丢了第1卷,还没怎么看.

 

《3D游戏 卷1:实时渲染与软件技术 》
《3D游戏:卷2 动画与高级实时渲染技术 》-------- 强烈推荐!
 作者:Alan Watt,Fabio Policarpo
  Fly 3D SDK
两本都买了,在看.
 

《Real Time Rendering 》   -------- 强烈推荐! 本书因为其创新性被美国《游戏开发者》杂志(Game Developer  Magazine)评为2002年度"前沿奖(ProntLineAward), 刚买.

 

《计算机图形学几何工具算法详解》   -------- 极力推荐! 原来是朋友Michael推荐给我的.刚买.
最近在看,感觉很好,是一本不仅说HOW还告诉你WHY的几何基础的图形书. 作者Schneider在沃特迪斯尼特色动画公司领导一个建模和动态模拟软件小组, 3维引擎“疯狂魔法”的设计师

 

《Maya5编程全攻略》      -------- 推荐!  插件相关,了解maya的设计理念,提高设计能力。很薄,看完了,感觉还不错.

《游戏之旅——我的编程感悟》 -------- 推荐! 2005年12月出版,新书.没看。

              推荐!因为是云风出的。

 

三。windows编程及汇编:
(1)《windows核心编程》 by Jeffrey Richter                         -------- 强烈推荐! 已收藏,不过感觉说得不是很深.

(2)《win95 a developer's guide》 by Jeffrey Richter             -------- 强烈推荐!
(3)《Windows 95 System Programming Secrets》                  -------- 极力推荐! 这书的份量可用不得不看来说!
       该书作者也是boundschecker内存泄露工具的撰写人

(4)《Inside Windows 2000》                                                   -------- 强烈推荐!

(5)《80X86汇编语言程序设计教程 》                                 -------- 强烈推荐!

  清华大学出的很好的一本书,我当初看了一大半之后丢在广州朋友家不见了。

(6)《保护方式下的80386及其编程 》                                 -------- 极力推荐! 好书哇! 也可当参考书用.

      作者是80386 CPU的总设计师John Crwaford,以及Patrick Gelsinger

      电子书:http://www.oldlinux.org/cgi-bin/LB5000XP/view.cgi?forum=25&topic=10

(6)《硬盘扇区读写技术》                                                    --------  推荐! 很薄,个人爱好买了下来,可以透切了解扇区等技术。

(7)《Linux内核完全注释》                                                    -------- 极力推荐! 透彻分析linux早期内核源码!

       论坛:

        http://www.oldlinux.org/cgi-bin/LB5000XP/forums.cgi?forum=1

       电子版下载:

       http://www.oldlinux.org/download/clk011c-1.9.5.pdf
(8)《自己动手写操作系统》                                                -------- 极力推荐! 深入浅出了解系统底层

       出版日期:

       2005年8月.见http://www.dearbook.com.cn/subject/program_OS/
刚看完了。

要想了解操作系统原理,以上四本可以结合一起看

(9)《软件加密原理与应用》                                               --------  强烈推荐! 国内软件加密公司出的好书

(10)《软件加解密技术内幕》                                             --------  强烈推荐! 国内看雪力作!

(11)《黑客反汇编揭秘》                                                     --------  强烈推荐! 国外反调试、反跟踪等技术

(12)《代码优化:有效使用内存》                                     --------  推荐!

(13)《组合语言之艺术》                                                     --------  推荐! 非常好的汇编语言。网上有电子档下.

(14)《编程高手箴言》                                                         --------  推荐! 看到作者是超级解霸作者,买了回来.
        这是本很好书,不过由于是"箴言"所以内容有点散,有基础才看得懂,广西老乡哈。

(15) 《深入理解计算机系统》                                            --------  极力推荐! 不得不看! 已从头到尾看完.(好hi)

      国外经典教材! 作者Randal E.Bryant David O'Hallaron 著

(16) 《编译原理及实践》                                                    --------  极力推荐! 作者Louden, K.C

(17) 《计算机组成原理》                                                    --------  推荐, 国内的教案,感觉也不错

(18) 《微机原理、汇编语言与接口技术》                        --------  推荐, 国内的教案,感觉也不错
         

四.网络编程:
 《Cisco网络技术教程》                                                      -------- 强烈推荐! 网络程序入门书. 从朋友手里借来看完了,是一本不错的入门书.

 《Windows网络编程 》                                                       -------- windows网络编程参考书, 这书买回来不久书就脱线了,真郁闷,该书告诉你怎么在windows下使用api进行网络编程.要了解网络底层先看上一本再看下面一本吧.

 《TCP/IP详解 》 1、2、3 作者:[美]W.Richard Stevers -------- 极力推荐! 我只有第1卷,感觉很不错的书.

 《U用TCP/IP进行网际互联 》 作者:林瑶 等/译            ------- 上书姐妹篇
 《UNIX网络编程 》 作者:[美]W.Richard Stevers           -------- 强烈推荐!

       评价很高的书,还没看

《C++网络编程,卷1:运用ACE和模式消除复杂性》  -------- 强烈推荐!

       评价很高的书,还没看

《C++网络编程,卷2:基于 ACE 和框架的系统化复用》-------- 强烈推荐!

       评价很高的书,还没看

 

五。 其它非计算机的书:

《电子技术基础》                                                             -------- 强烈推荐!  电子入门书。
《时间简史》
《行者无疆》

 

 
 [em20]