[知乎][Milo Yip]系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?

Computer Graphics, Animaition, OpenGL, DirectX, OpenCL
头像
523066680
Administrator
Administrator
帖子: 461
注册时间: 2016年07月19日 12:14
拥有现金: 锁定
储蓄: 锁定
Has thanked: 51 times
Been thanked: 90 times
联系:

[知乎][Milo Yip]系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?

帖子 #1 523066680 » 2016年08月25日 21:41

作者:Milo Yip
链接:https://www.zhihu.com/question/26720808/answer/33885578
来源:知乎

本人二十多年前开始对图形学有兴趣,并进行自学。那时候能找到的学习材料比较杂乱,有来自BBS的文档及代码,有一些不太系统的书籍。后来开始阅读著名的教材《Computer Graphics (豆瓣): Principle and Practice 2nd Edition》(CGPP),发觉非常难读,当然一方面是自己的能力有限(那时候高一),另一方面是觉得有些比较简单的部分花了很多篇幅,有些重点的学习曲
线非常陡峭。
第二版的资料比较过时,但过了二十多年作者们才出了第三版,我买了一本(右图),但只读了一小部分,所以不在此妄下评论。
01.jpg

对于学习计算机图形,我觉得需要考虑是以哪种心态去学习。如果只是想了解一下,体验一下,可以选择一些较简单的方式,例如Processing相关的。《The Nature of Code (豆瓣)》是一本写给任何程序员甚至是非程序员,有关图形、动画的书,使用Processing作为例子。网上版是免费的The Nature of Code,国内也快有翻译版《代码本色:用编程模拟自然系统 (豆瓣)》,本人第一次获邀写本书的推荐序(求轻拍……)。
02.jpg

如果希望更正统地去学习,可以选择公开课及大学教科书。我并没有这方面的学习经验,但似乎《Fundamentals of Computer Graphics, Third Edition (豆瓣)》是一个不错的选择,作者是Utah及Cornell的教授,而且本书曾用于多所大学的课程(见Fundamentals of Computer Graphics, Third Edition)。
03.jpg

另一本常作为教材,但只集中讨论离线渲染的是《Physically Based Rendering, Second Edition (豆瓣)》(PBRT)。它的一个优越之处是配合开源项目mmp/pbrt-v2 · GitHub,而且书里采用了文学编程Literate programming)方式去展示源代码,这样会更容易理解代码和理论之间的关联。
04.jpg

提到PBRT,不能不提《Real-Time Rendering, Third Edition (豆瓣)》(RTR)。相对于制作CG(动画电影、电影特效)的离线渲染,实时渲染是游戏的核心部分,这本书被誉为游戏引擎开发者的天书。这本书的内容非常多,涉及实时渲染的方方面面,写作手法亦非常简明易读。但由于许多细节内容实在放不进这本超过1000页的著作,但作者们非常仔细地包含了大量的参考文献,可以作为这个领域的指南。但第3版已经是2008年出版,期待第4版。
05.jpg

对于想做实时渲染的朋友,必须要学习相关的API。现时基本上是Direct3D 9/11、OpenGL 3.x/4.x、OpenGL ES 2/3、WebGL,还有一些新的API如iOS的Metal、AMD的Mantle。
Direct3D 比较多人阅读的是龙书《Introduction to 3D Game Programming with DirectX 11 (豆瓣)》,但DirectX11版已没有龙做封面了。
06.jpg

不过如果对Direct3D9或OpenGL API已有经验,可以阅读《Practical Rendering and Computation with Direct3D 11 (豆瓣)》。这本书基本可以代替MSDN的相关介绍,并有几章比较实际应用上的问题处理。
07.jpg

而OpenGL的经典则是红书《OpenGL Programming Guide (豆瓣)》,现时已经是第8版。我已忘记最初是看哪一版,不过当时的确觉得非常易读。
08.jpg

OpenGL还有一本比较流行的书籍《OpenGL Superbible (豆瓣)》。
09.jpg

计算机图形学可能是在计算机出版中,首先以Gems形式把一些投稿结集出版的学科。1990年开创《Graphics Gems (豆瓣)》系列,2002年开始了《Direct3D ShaderX (豆瓣)》系列,2004年的《GPU Gems (豆瓣)》系列1,2010年的《GPU Pro (豆瓣)》系列等。这些书籍主要是业界(部分学界)发表最新技巧、技术的地方。完整列表可参考計算機圖形: Gems類
10.jpg

上面的都是比较广泛地讨论计算机图形及API的书籍,但计算机图形的每一个范畴,例如实时图形的阴影、流体模拟及渲染、曲面建模、地形渲染、皮肤渲染……许多许多题目都足以写一本甚至几本专著。可以参考 計算機圖形: 進階/專門
11.jpg

介绍到这里,以为完了吧?不,还有一类书籍,把计算机图形相关的文章结集出版。例如《Jim Blinn's Corner (豆瓣)》。Jim Blinn何许人也?就是发明Blinn-Phong Reflection Model、environment mapping、bump mapping的大牛。类似的书籍可参考 計算機圖形: 專欄結集
12.jpg


还有,计算机图形离不开数学,相关书籍可参考此答案:
与游戏或图形编程相关,有哪些好的数学和物理的书? - Milo Yip 的回答

我搜集了不少计算机图形书籍,做成豆列(但只有少量评语) :
計算機圖形: 入門/API類 http://book.douban.com/doulist/1445744/
計算機圖形: 進階/專門 http://book.douban.com/doulist/1445680/
計算機圖形: Gems類 http://book.douban.com/doulist/1445745/
計算機圖形: 專欄結集 http://book.douban.com/doulist/1445806/
計算機圖形: 動畫 http://book.douban.com/doulist/1445716/
計算機圖形: 相關數學 http://book.douban.com/doulist/1445735/
計算機圖形: 其他參考 http://book.douban.com/doulist/1447740/
您没有权限查看这个主题的附件。

zzz19760225
渐入佳境
渐入佳境
帖子: 53
注册时间: 2017年12月25日 11:12
拥有现金: 锁定
储蓄: 锁定
Has thanked: 66 times
Been thanked: 4 times
联系:

Re: [知乎][Milo Yip]系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?

帖子 #2 zzz19760225 » 2018年04月18日 12:32

楼主有没有在dos虚拟器,pcem,dosemu里的图形操作教程或参考方向?

头像
523066680
Administrator
Administrator
帖子: 461
注册时间: 2016年07月19日 12:14
拥有现金: 锁定
储蓄: 锁定
Has thanked: 51 times
Been thanked: 90 times
联系:

Re: [知乎][Milo Yip]系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?

帖子 #3 523066680 » 2018年04月19日 11:33

zzz19760225 写了:楼主有没有在dos虚拟器,pcem,dosemu里的图形操作教程或参考方向?


DOS方面了解不多,手头上没有~ :(

briar
初来炸道
初来炸道
帖子: 10
注册时间: 2018年03月07日 00:16
拥有现金: 锁定
储蓄: 锁定
联系:

Re: [知乎][Milo Yip]系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?

帖子 #4 briar » 2018年04月19日 22:16

zzz19760225 写了:楼主有没有在dos虚拟器,pcem,dosemu里的图形操作教程或参考方向?

最近我在群内放了一些我从ed2k翻出来的旧书,你可以参考下。
中華DOS聯盟:8393170

briar
初来炸道
初来炸道
帖子: 10
注册时间: 2018年03月07日 00:16
拥有现金: 锁定
储蓄: 锁定
联系:

Re: [知乎][Milo Yip]系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?

帖子 #5 briar » 2018年04月19日 22:18

这些书或许网上能搜到扫描版,搜不到可以看看ed2k网络。或者是一些网址。
中華DOS聯盟:8393170

briar
初来炸道
初来炸道
帖子: 10
注册时间: 2018年03月07日 00:16
拥有现金: 锁定
储蓄: 锁定
联系:

Re: [知乎][Milo Yip]系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?

帖子 #6 briar » 2018年04月19日 22:19

这些书或许网上能搜到扫描版,搜不到可以看看ed2k网络。或者是一些网址。
中華DOS聯盟:8393170

zzz19760225
渐入佳境
渐入佳境
帖子: 53
注册时间: 2017年12月25日 11:12
拥有现金: 锁定
储蓄: 锁定
Has thanked: 66 times
Been thanked: 4 times
联系:

Re: [知乎][Milo Yip]系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?

帖子 #7 zzz19760225 » 2018年04月20日 08:29

briar 写了:这些书或许网上能搜到扫描版,搜不到可以看看ed2k网络。或者是一些网址。


嗯,一直想寻个时间专心了解下,因为繁琐的事老是没成。什么时候找一个txt版的,随身用手机碎看。

zzz19760225
渐入佳境
渐入佳境
帖子: 53
注册时间: 2017年12月25日 11:12
拥有现金: 锁定
储蓄: 锁定
Has thanked: 66 times
Been thanked: 4 times
联系:

Re: [知乎][Milo Yip]系统的学习计算机图形学,有哪些不同阶段的书籍的推荐?

帖子 #8 zzz19760225 » 2018年04月20日 08:41

523066680 写了:
zzz19760225 写了:楼主有没有在dos虚拟器,pcem,dosemu里的图形操作教程或参考方向?


DOS方面了解不多,手头上没有~ :(


你这里的帮助教材已经足够足够人消化的,辛苦了。
一种是没有图形接口的图形实现(针对点阵字符构成的小点点),另一种是有图形接口的图形实现。我在门外汉小白新手的角度,想着有没有什么笨的方向,开始就在一个硬件有关的范围活动体验。主要是想避免系统学习linux等的内容,进去类似操作debug那样,最好debug这个工具本身也是可以这样自构和修改的开源。

现实是从昨天走到今天,从已有走向未有,这个过程一般是要有的,所以我想直接接触硬件,一般是不大好实现,有点类似以前机器码操作的要求。

另一个是世界是丰富丰满的,在一个想法产生的同时,在相同的世界中,历史,现在,下一刻,都有很多人具有其他更好相同类同近似的想法或实践,只是无法互相自由联系沟通或有效沟通。

我目前的需求,属于不清不楚的大概方向,跟着你们的后面涨涨见识,已经是受益匪浅了(起点低也无法直接理解和吸收)。

慢慢逛逛


回到 “计算机图形”

在线用户

用户浏览此论坛: 没有注册用户 和 0 访客