零基础如何学习计算机图形学?

零基础如何学习计算机图形学?

2020年对于国内的计算机图形学界是个好年,因为涌现了3份新的好的中文高质量入门资料,并且都是以视频授课的形式。从这个角度来看,疫情加速了网上授课的大规模普及,从而使录屏和传播知识变得更方便起来。

 

计算机图形学可以笼统的分为三个大方向,渲染rendering, 几何geometry和模拟simulation, 除掉三个大方向以外还有一些不那么主干的方向,比如3D打印3D printing,  数据可视化visualization,通用GPU编程(GPGPU)以及人机交互等等。

 

在2020年,三个大方向都有相当高质量的课程,并且都是大牛亲自上课。

 

1. 首先有UCSB闫老师出品(SIGGRAPH最佳博士论文奖得主,主攻Rendering)的Games101(现代计算机图形学入门),虽然里面包含了Rendering、Geometry和Simulation的内容,但是主要是Rendering入门,着重讲了光栅化(Rasterization)和光线追踪(Raytracing)的内容,几何和模拟都是简单带过,很适合初学者,也很容易看到很酷炫的效果。

 

GAMES101-现代计算机图形学入门-闫令琪

https://www.bilibili.com/video/BV1X7411F744?from=search&seid=16228307511649123560

 

2. 其次是由科大出品的数字几何处理-中国科学技术大学-傅孝明,主要是几何相关的内容,14个编程作业包你做到满意,刘利刚老师坐镇科大,也算是国内非常有名的图形学实验室了。

 

数字几何处理-中国科学技术大学-傅孝明

https://www.bilibili.com/video/BV1B54y1B7Uc?from=search&seid=13085399300730920132

 

3. 最后是由麻省理工学院 胡渊鸣出品的GAMES201:高级物理引擎实战指南2020,主要介绍了Taichi编程语言和物理模拟编程,这个可能是最难的,并不是单纯的CS课程,就我个人的观课体验,要跟上这门课coding能力是其次的,力学知识和数值计算知识是最需要的,论坛里各种流体力学的大神炫技,着实让人羡慕。

 

GAMES201:高级物理引擎实战指南2020

https://www.bilibili.com/video/BV1ZK411H7Hc?from=search&seid=5195290021208890151

 

如果一个初学者将以上三块拼图拼齐,自诩为图形学入门应当是问题不大。

最后强调一点,计算机图形学是一门综合多学科的活跃的研究性学科,不是朴素的工程实践。把计算机图形学和OpenGL/DirectX/Unreal4/Unity等等开发实践画等号是完全的错误。企图通过学习某某引擎,某某API,某某游戏开发来学习计算机图形学只能是管中窥豹。 

 

 

这里再补充一些我读过的一些书面材料: 

 

  • 入门必读: 虎书 Fundamentals of Computer Graphics. Shirley的力作,大学经典教材,基本覆盖了图形学里需要的所有基础知识(几何上感觉欠缺了点)。

  • Shirley的三本小书,ray tracing in one weekend/one week/the rest of life. 指望着这三本书入门是不现实的,尤其是第三本,如果你没有看虎书的第14章(蒙特卡罗积分)和第20章(辐射度量学),基本上不太可能明白第三本书的原理。

  • PBRT,质量上佳。这本书是斯坦福CS348B的教材,开课老师是这本书的作者和Pat Hanrahan(19年图灵奖得主)。这本书适合于已经写过渲染器的人读,初学者翻开等于劝退。

  • OpenGL programming Guide. OpenGL红宝书。不如http://learnopengl.com和opengl官方文档。

  • smallpt(99行代码的光线追踪)。放弃它把,shirley的三本小书里的渲染器完成度更高。基本上是对Path tracing的最直接翻译, 知道了理论来看它并不难。

  • scrachpixels 文章有点零碎,质量不错,适合有知识点不懂的时候来查阅。

  • massively parallel processors。配合Udacity的CS344(Intro to Parallel Programming). 很好的cuda入门材料。

posted @ 2022-09-08 18:39  一个新星的诞生  阅读(220)  评论(0)    收藏  举报