【书单】图形学科研之路(持续更新)

不同于目前互联网上经常见到的图形学书单推荐,本文侧重收集、整理图形学各个方向研究所需要的各个方面(基础知识,领域重要著作,工具链参考手册),以供想了解/快速上手该细分领域的同学参考。

本书单长期更新,请在评论区中留下您的反馈意见/补充推荐,我们会定期对这个书单做更新,并在贡献者位置附上您的ID。

目前细分方向暂时分为Introduction(介绍图形学、电影/动画工业的基础知识),Geometry Processing(几何处理,建模等),Rendering(离线/实时渲染),Animation and Simulation(动画/物理模拟),Mathematics(图形学研究需要用到的数学知识),Toolchain(图形学研究常用工具链)。如果您对这些方向分类有新的想法,我们欢迎您的反馈。

由于编者水平有限,本文难免有遗漏和不妥之处,请不吝赐教。

Contributors:

@硕鼠酱@李旻辰@Raymond@丁欧南@FAQ@CodingHare



Introduction

Interactive computer graphics : a top-down approach with shader-based OpenGL / Edward Angel et al.
相当不错的图形学入门读物,偏重实时渲染。用OpenGL(新版本为WebGL)作为教学,简单容易上手。
The Art of 3D Computer Animation and Effects by Isaac V. Kerlow

全面介绍电影/动画工业的方方面面,由迪斯尼工作人员攒书,值得一看。


Geometry Processing

Computational Geometry: Algorithms and Applications. Third Edition. Mark de Berg, et al

计算几何经典之作,深入浅出,例子很多,每一章开头都有本章内容的实际应用,书后附有大量习题。

Polygon mesh processing. CRC press. Botsch et al. 2010

包括基本的几何形体处理算法的讲解,比如平滑降噪、参数化、三角剖分、简化与近似、形变等。

Discrete Differential Geometry: An Applied Introduction. Keenan Crane 2015

讲述传统微分几何的基本概念如何在离散计算中得到应用,同时也会涉及到对一些相关数学工具的应用的探讨。内容主要包括曲率、平行转移、外蕴代数和微积分、拓扑、霍奇分解、保角映射、有限元方法等。

Vector Field Processing on Triangle Meshes. Fernando de Goes et al. 2015

讲述如何在几何体表面的切空间定义向量场并应用到对几何形体的处理中。本文也着重讲解了如何将传统微分几何的概念离散化到三角形网格上,选取三角形、顶点、边作为离散元分别有何优缺点。


Rendering

Physically Based Rendering, From Theory to Implementation /Matt Pharr

讲解详细体系完备,更难能可贵的是本书配套一个渲染系统,书后习题提供了参考文献和思路来改进这个渲染系统,学练结合,夫复何求?

Real-Time Rendering, Tomas Akenine-Moller, Eric Haines & Naty Hoffman

与离线渲染相对应的实时渲染经典著作,针对现代图形渲染管线、GPU、着色器等有详细讲解。同时总结了大量游戏开发中非常实用的算法。


Animation and Simulation

Fluid simulation for computer graphics / Robert Bridson

作者流体模拟届大牛Bridson,从NS方程的推导入手,详细介绍流体模拟的经典算法,是做物理模拟方向的同学几乎人手一本的参考书。

Nonlinear Continuum Mechanics for Finite Element Analysis / Javier Bonet & Richard D. Wood

固体、软体模拟、声音合成等方向的必读物。从最简单的线性机械学介绍到非线性机械学,对各种应力模型都有详细的介绍。同时对不同机械学模型的有限元分析也进行了深入的讲解。

Boundary Element Method / Stefan A. Sauter & Christoph Schwab

本书详细介绍了边界元方法的理论和具体的数值方法。从边界元的概念、伽辽金方法等,讲述到椭圆边界积分方程的性质和解法,之后详细介绍了边界元方法及其在不同应用下的各种变通方法,最后也介绍了一些相关的线性方程求解和误差分析方法。

Rigid Body Simulation I & II / David Baraff

刚体模拟的入门读物,从最基本的刚体运动方程讲到刚体碰撞等。作者是皮克斯动画工作室的高级研究员,其开发的布料模拟算法已被广泛采纳于各种游戏和特效引擎中。

@FAQ推荐

The Arts of Fluid Animation / Jos Stam CRC Press

Jos Stam 的 The Arts of Fluid Animation 讲得很有趣,可以作为引起兴趣的一本入门书籍,还带他的经典代码。

Fluid Simulation for Video Games

今天在办公室整理资料的时候发现当时一开始学习流体的时候看得很起劲的一个系列教程,叫Fluid Simulation for Video Games (因为我以前是做Game dev的,但后来兴趣有所改变…),这个系列提供很多关于流体的信息,但都不是那种看了作呕的教科书,它还提供一些源码可以玩。

@CodingHare推荐

Kim, Doyub. Fluid Engine Development. CRC Press, 2017.
推荐一本 Doyub Kim 的 FLUID ENGINE DEVELOPMENT, ISBN978-1-4987-1992-6,基本上是手把手的从零开始教你写流体解算器啦,对像我一样的自学新手很有帮助

Mathematics

Linear Algebra and Its Applications / Peter Lax

作者是科学计算领域大家,这本书前面从分析的视角讲代数,后文从代数扩展到计算数学,是用一本书快速温习多个领域的不二之选。本书观点较高,适合有本科数学基础的同学参考。

Numerical Solution of Time-Dependent Advection-Diffusion-Reaction Equations / Willem Hundsdorfer and Jan Verwer

从Method of Lines讲解抛物方程数值求解的一本观点新颖的著作,可供做流体模拟/CFD的同学参考。

What is...

AMS邀请各位大神编写的给数学爱好者阅读的科普小短文系列,能找到很多很有趣的东西 :)

Numerical Mathematics and Computing / Cheney, E., and David Kincaid.

一本比较新的计算数学著作,详细介绍了科学计算各个方面,知识比较新,并有详细的例子。

Modern Mathematics and Applications in Computer Graphics and Vision / Hongyu Guo

这本书收集了很多计算机图形学和视觉科学需要用到的现代数学知识。

Numerical Optimization / Jorge Nocedal & Stephen J. Wright

数值优化的经典著作,作者是开发了著名非线性优化算法L-BFGS的大牛,和数值计算相关领域的必读书目。

Partial Differential Equations / L. C. Evans

本书从应用角度全面地介绍了偏微分方程的相关内容,结合经典的工科应用,详细讲述了偏微分方程的类型、求解方法以及相关理论,适合已有数学分析基础的同学学习。

微积分学教程(三卷本) / 菲赫今哥尔茨

这套书是享誉世界的著作。然而由于体量实在太大,所以更适合作为参考资料使用。这套书讲解相当详细,每一章几乎都可以自成体系,并且配备数量可观的例题,是快速回忆微积分相关公式/定理绝佳的参考资料。

Ascher, Uri M., and Linda R. Petzold. Computer methods for ordinary differential equations and differential-algebraic equations. Vol. 61. Siam, 1998.

ODE数值解法方面的著作,配有习题和很多具体例子,也照顾到了对数学原理的讲解。这本书美中不足之处是省略了很多证明的细节。

@丁欧南推荐:

Fung, Yuan-cheng. "A first course in continuum mechanics." Englewood Cliffs, NJ, Prentice-Hall, Inc.,

Trefethen, Lloyd N., and David Bau III. Numerical linear algebra. Vol. 50. Siam, 1997.

Osher, Stanley, and Ronald Fedkiw. Level set methods and dynamic implicit surfaces. Vol. 153. Springer Science & Business Media, 2006.

就那本Continuum Mechanics, 好像从Stanford出来, 师承Ronald Fedkiw的那几代人都在用它. 另外数学部分可以考虑加上numerical linear algebra(Trefethen). 我超喜欢这个作者的书, 我导师有一次看我桌上摆着也表示赞同. xxzhang 曾经在哪个回答里说要熟悉Krylov/CG的那一套嘛,我就是从这本书学来的. 另外SIAM还有几本关于numerical methods的书, 我忘记确切书名了, 作者好像是LaVeque. 还有Redkiw自己的那本levelset的书也不错, 有一种他论文摘要的作用.


Toolchain

The ltxprimer / Indian TeX Group

TeX排版语言的相当棒的入门参考。虽然这本小册子比较老,但是由于它主要关注TeX的核心方面,所以依然有很大的参考价值。

Home

OpenGL边学边做,讲解详细,代码质量也不错。

The Linux Command Line / William Shotts

相当棒、相当精简、信息密度极大的介绍GNU/Linux(debian),bash programming和日常工具(grep, sed等)的手册。是以后/正在使用Linux的同学绝佳的自学教程 / 参考资料。更重要的是, 这本书是开源免费的!

Learn C++

相当赞的在线C++知识参考网站,有详细的例子,体系完备技术新颖,适合自学C++或者查漏补缺。

Unreal Engine Game Development Cookbook, John P. Doran

UE4的入门读物,从实例入手讲解如何进行简单游戏的开发。


一些不错的书单推荐:


Greg Turk教授的图形学书单:

Mathematics for Computer Graphics

叶劲峰老师的书单:

游戏程序员的学习之路 - 知乎专栏

Peter Wonka教授的图形学书单:

Peter Wonka

_(:3」∠)_ _(・ω・”∠)_ _(:з)∠)_ ∠( ᐛ 」∠)_ _(:зゝ∠)_
请毫不犹豫地关注我们:
我们的网站:GraphiCon
知乎专栏:GraphiCon图形控
公众号:GraphiCon


如果你有什么想法,建议,或者想加入我们,你可以:
给我们发邮件:hi@graphicon.io
加入我们的QQ群:SIQGRAPH(342086343)
加入我们的slack群:GraphiCon
GraphiCon长期接受投稿,如果你想投稿给我们可以通过上面的方式联系我们!

本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。任何组织和个人不得将本文用作商业用途,转载需要在显要位置注明原文链接。作者保留对侵权行为追究责任的权利。

creativecommons.org/lic

文章被以下专栏收录