1.一个图形爱好者的书架
原文地址:http://blog.csdn.net/nhsoft/archive/2004/06/23/22992.aspx
  
      早几天看到有人把自己在大学四年的书列了出来.招来一顿怀疑.我是开发图形程序的.我现在也把我的书列出来.不怕大家怀疑吧.希望能有点启示作用.

绿色的是我看完了的。红色的是没怎么看的。黄色的是看了一半以上的。

语言类:
C++ Programming Language (Special Edition).C++的圣经级别的书.我只看原文的。不看翻译的.对球教授的翻译表示一定的保留意见.
Effictive/More Effictive C++.工程实践的最佳经验书籍.
Inside C++ Object Model .好书.看完了。你对C++的理解会变的很深刻的。
设计模式 .好书.买了看就是了。别问我为什么啊。 
More Excpetion C++ 和Effective C++有同工之处.
STL 源代码破析。正在看的过程中。
STL 中文版      一本参考手册。
Moden C++ Design 看完了这本书。我估计会吐血。但是还是要看。经典啊,书的例子Loki的代码 
潭浩强的C程序设计。经典。C教材里这本最好。不许大家B4他。
C++Template : 有人说翻译的不好。我觉得还可以.
Python 语言入门。我拿来做游戏脚本用的。
Unix Shell编程

算法和基础类。
程序设计实践   给你一个很好的经验.很薄的,去买来看看。
C++分形程序设计。当年给一个JJ做毕业设计。花了半个月看完的。
数据结构(C++语言描述)影印版。好书,但是没看完。教材来着的。
数据结构(用面向对象方法与C++描述)。清华出的。看完了。
人工智能 Nilson的书。看不懂。呵呵。

开发工具和平台的书
Unix 环境高级编程 : 学Unix编程.就从这里开始吧.现在在看X-Window编程.可惜没有介绍XLib的书.因为要用OpenGL.最好还是从XLib开始.痛苦.只能看Xlib.pdf
Unix 高级编程      : 我真不相信我能检到这么一本好书.想买.但是没钱.呵呵。
VC++技术内幕,翻译的好烂啊。不过当时我不知道。最后还是看完了。
Windows下的C语言编程。我的 Win32入门书籍。
Win32程序员指南,我的Win32提高书籍。10块一本。呵呵。
Windows 核心编程。看完了这个。大家说我是个高手了。
深入浅出MFC.   看了一半后,我自己去看MFC的代码了.
ATL 开发人员指南  没怎么看.很实用的样子.
COM 本质论 .看完了大长见识,我就是看了他后,才知道接口的概念的.
ATL 本质论 ,看了后让我模板水平有不少提高.
Linux内核编程 没什么好说的。
X86的体系结构和汇编:忘记了具体名字了。大概是这个名字.我的汇编知识都是从这里来的。只看了前面的部分
汇编语言程序设计: 钱晓捷主编.有介绍SSE和MMX的。很不错哦。 也很便宜
应用程序调试技巧: 很经典的调试书.Numega公司的工程师写的.(出品SoftICE的那个公司).有些技巧只能用神奇来形容.

专业的图形书
图形开发人员指南 著名的黑皮书.我是怀着崇拜的心情收藏这本书的。John Carmack做的序.Micheal Abrash的书.偶像啊。
计算机图形学 (清华大学)。烂书。不过也差不多看完了。现在在一个 MM手里。
图形学(电子工业出版社)老外的书。不错。正在看。
计算机图形学算法基础:经典。没看完。看了1/3了。翻了一遍。
计算机真实感图形的算法基础。国内最好的图形学的书。刚拿到。正在看。
非真实感计算机图形学: 刚买到的.不是太有用。太学术了。
游戏编程精粹 1/2/3. 中文版。偶尔翻一两篇不错的。不过我要对着英文的看才看的懂。
OpenGL Red Book .中文版还可以.非读不可.
OpenGL 超级宝典 比较好.很实用,对初学者很好.
3D Games Vol1 . 就是介绍Fly 3D 的书。看了一半了。很不错。
Real-Time Rendering 1. 正在看。很好的书
Real-Time Rendering 2: 中文版和英文版都有:
CG 教程:  推荐你学好图形学后再来看.
OpenGL Shading Languge : 看了前面的大半了。
GPU Gems :                    刚买到的.花了我350大元.不过好看.
3D Math Primer For Computer Graphics and 3D Games. 数学书里就这本好一点了。
3D Game Engine Design  正在看。对着书写自己的物理引擎。
ShaderX 2 Tricks .   没看。刚拿到。经典到不用介绍的程度了。
还有其他打印的资料无数 :-)

其他的看似没有用,其实最有用的书.
微积分: 高等教育出版社.
数学分析:上下册.
理论力学: 上下册
傅立叶变换与小波分析: 没看明白
大学物理: 1-3 册.
空气动力学: 我的老本行.(偶学航空发动机滴)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2.白话说学计算机图形学
一个很好的学习途径就是国外大学开的CG的课程,standford,unc,unm,waterloo等等,等等,一堆大学,都可以下到课件,以及相关的论文,standford的“real time graphics architecture”可是kurt Akeley开的哦。
另外就是source code,包括mesa,standford的glsim,还有人用c sharp做的csgl等,也不少。这些东西很值得细细研究,只是很花时间啊。
我也是才学这方面的,不过我觉得方法上面还是top-down的方法好些,对一些东西,有感性认识了,再钻下去会比较好。

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

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

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

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

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大部分:建模和渲染
(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)渲染
有了模型,怎么把这个几何模型画出来呢?这个步骤就是渲染。
如果你看了上面的OpenGL的书,那么你就知道一些渲染的知识了,但是别高兴的太早,OpenGL使用的是局部光照模型(Local Illumination Model)。Local illumination Model指的是在做渲染的时候只考虑光源和物体之间的相互作用,不考虑物体和物体之间的影响,所以OpenGL不支持阴影,一个(半)透明物体的效果,这些需要考虑物体之间的影响才可以实现。
(*OpenGL本身不支持,但是通过一些方法可以实现的,用Google搜索一下
Shadow Volume, 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变成实际可用。

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

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

Ian Ashdown的Radiosity: A Programmer's Perspective
有源代码的书啊!

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

【非真实性图形学】(Non-Photorealistic Graphics)
真实性不是计算机图形学的唯一要求,比如:你给我画一个卡通效果的图出来,或者我要用计算机画水彩画怎么办?或者:把图象用文字拼出来怎么做?,解决这些问题要用到非真实性图形学, 好书继续推荐!
Bruce Gooch, Amy Ashurst Gooch的 Non-Photorealistic Rendering

【体图形学】(Volume Graphics)
用CT机做很多切片(比如头骨),那么能通过这些切片得到3D的头骨吗?Volume Graphics就是解决这样的问题的
Min Chen 编著的Volume Graphics

上面的2个图形学技术就和图象的界限不明显了,实际上他们是图形图象的综合。

【其他的书】
还有一些好书啊,呵呵,好书看不完的,继续放送:

Graphics Gems I ~ V,一大帮子人写的书,包括研究人员,程序员…有计算机图形学的各种数据结构,编程技巧。

Tomas Akenine-Moller 等人编著的Real-Time Rendering (2nd Edition)
许多最新的计算机图形学进展。

David Ebert等人的Texturing & Modeling: A Procedural Approach, Third Edition
讲述如何通过程序实现纹理、山、地形等图形学要素。

关于图形学的特定对象,有特定的专题图书,
Evan Pipho Focus On 3D Models,对于图形学的常用模型格式,进行了讲解
Trent Polack的 Focus On 3D Terrain Programming ,讲地形的
Donald H. House 的Cloth Modeling and Animation ,讲布料的
Nik Lever的Real-time 3D Character Animation with Visual C++ ,讲角色动画的
Richard Parent的 Computer Animation: Algorithms and Techniques,当然是讲动画的啦,呵呵。
David H. Eberly的3D Game Engine Design : A Practical Approach to Real-Time Computer Graphics ,有代码的啊!呵呵:)

最后,没事情的时候,看看下面的书吧
Alan H. Watt, 3D Computer Graphics (3rd Edition)

James D. Foley等人的 Computer Graphics: Principles and Practice in C (2nd Edition) ,这本圣经没事的时候再看吧,呵呵。

转载于:https://www.cnblogs.com/lancidie/archive/2010/12/12/1903611.html

[转载]一个图形爱好者的书架/白话说学计算机图形学相关推荐

  1. 转----一个图形爱好者的书架.-也来介绍一下我的藏书.

    一个图形爱好者的书架.-也来介绍一下我的藏书. 早几天看到有人把自己在大学四年的书列了出来.招来一顿怀疑.我是开发图形程序的.我现在也把我的书列出来.不怕大家怀疑吧.希望能有点启示作用. 绿色的是我看 ...

  2. 一个图形爱好者的书架

    http://www.360doc.com/content/05/1027/13/2198_24643.shtml 一个图形爱好者的书架.-也来介绍一下我的藏书. 早几天看到有人把自己在大学四年的书列 ...

  3. 湖北经济学院的计算机是否强,graphics-ch11-真实感图形绘制_湖北经济学院:计算机图形学_ppt_大学课件预览_高等教育资讯网...

    第十一章 真实感图形技术 1,简单光照明模型 2,多边形绘制方法 3,透明 4,整体观照明模型 5,光线跟踪算法 第十章 真实感图形绘制 光照模型 (Illumination Model):计算某 一 ...

  4. 计算机图形学三维变换论文,计算机图形学 第5章 三维图形生成和变换技术

    计算机图形学 第5章 三维图形生成和变换技术 (63页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 第五章 目录第五章 三维图形生成和变 ...

  5. [转载]一个游戏程序员的学习资料

    想起写这篇文章是在看侯杰先生的<深入浅出MFC>时,突然觉得自己在大学这几年关于游戏编程方面还算是有些心得,因此写出这篇小文,介绍我眼中的游戏程序员的书单与源代码参考.一则是作为自己今后两 ...

  6. 【转载】软件爱好者必备的优秀软件网站分享收藏

    [转载]软件爱好者必备的优秀软件网站分享 前言 作为一名软件爱好者,总是忍不住去搜集体验一些新奇好用的软件,浏览过程中也发现了各式各样的软件资源相关网站,下面是我收藏的一些软件网站,分享给大家. 软件 ...

  7. 转载 一个游戏程序员的学习资料

    转载]一个游戏程序员的学习资料 2008-05-15 20:31 日志原文:http://xoyojank.blog.sohu.com/83788512.html 想起写这篇文章是在看侯杰先生的< ...

  8. vb计算机图形学绘制钻石图案,Visual Basic 图形及图像处理 - 关于VB的经验之谈 - VB爱好者乐园(VBGood) - 关于VB的经验,电子教程,代码,控件,论坛,博客,微博等....

    计算机图形学是计算机应用的一个重要方面,很多人固执的认为Visual C++是处理图形的首选工具,但实际上Visual Basic在图形显示,Flash图像处理上有其独到之处. API实现完美的图片出 ...

  9. 【转载】图形找规律类题目

    文章目录 一.图形规律技巧 1. 对称 2. 去异存同.异或 3. 图形内元素的数量规律 4. 旋转 5. 笔画.边数规律 6. 交点 7. 图形边的形状 二.文字类 参考链接 一.图形规律技巧 1. ...

最新文章

  1. sqlite3数据的使用(xcode 7,ios9)
  2. 论文大盘点|卷积神经网络必读的100篇经典论文,包含检测/识别/分类/分割多个领域...
  3. 摩托罗拉SE4500 德州仪器TI Omap37xx/AM3715/DM3730/AM3530 wince6.0/Windows Mobile 6.5平台 二维软解调试记录及相关解释
  4. caffe loss
  5. php中target用法,Yii使用DbTarget实现日志功能的示例代码
  6. 微軟 ASP.NET 2.0 的 AJAX 利劍 ~ Atlas Framework
  7. excel中的vlookup函数
  8. python为什么这么火知乎_没想到 Google 排名第一的编程语言,为什么会这么火?...
  9. 编译安装 apache 2.4.6
  10. 因“智”而治,数据库自动驾驶时代大门即将开启!
  11. android opengl es 雾化效果实例
  12. powershell 设置代理_WSL2中使用proxychains ng代理加速
  13. 提示找不到msvcr71.dll怎么办
  14. 你真的会php,你真的会PHP吗?
  15. Java——泛型(最易懂的方式讲解泛型)
  16. 前端加载shapefile数据
  17. 【转自人人】本科生如何发表论文
  18. 任务栏-IDEA图标变白色
  19. LC-3指令集 指令/状态码介绍
  20. 微信授权登陆【yixiyun】

热门文章

  1. 数据结构上机实践第九周项目3 - 利用二叉树遍历思想解决问题
  2. 相机标定(四)—— 仿射变换和透视变换
  3. 正则化regularization
  4. 广义矩估计的一般步骤_【基本无害】动态理性预期理论与广义矩估计02
  5. python2打印字符串_Python 3基础教程2-打印语句和字符串
  6. java simpleentry_使用Java流生成对象
  7. 文本文件 java_Java入门:读写文本文件
  8. Python-Matplotlib可视化(4)——添加注释让统计图通俗易懂
  9. kotlin枚举_Kotlin枚举班
  10. linux命令 chmod_Linux chmod命令示例