(十一)Computer Graphics计算机图形学学习路径
1. 初阶
顺序 | 资源 | 知识分类/使用方法 | 链接和介绍 |
这个阶段不要关注图形API和GPU,只关注原理和CPU(https://www.zhihu.com/question/41468803/answer/1333138937) | |||
0 | 零基础学通C++ 或 Essential C++(中等厚度) 或 C++ Primer(比较厚) | 【先修】 掌握C++的精华 | Essential C++: https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgrOWIuwYoqOHn-wE.pdf C++ Primer: https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgrOWIuwYo88PXzwQ.pdf对C++的基本语法大致过一遍,或者跟着做少量的练习即可,切不可咬文嚼字地去深挖语法。这样对其有所宏观的了解,知道在教材的哪一章节有哪些知识点,将这些“知识指针”记住即可。重点: 1.面向对象,封装继承多态; 2. STL; 3.Template; |
1 | GAMES101-现代计算机图形学入门-闫令琪 | 【大局观】 作业都要写 | 视频 课程大纲 https://games-cn.org/intro-graphics/ 推荐的人最多的课程。本课对应有8次作业,只需要写核心部分的代码,非常友好。 |
1‘ | CMU 15-462 computer graphics | 1的平替 | |
2 | 《Fundamentals of Computer Graphics》(虎书) 计算机图形学 | 【大局观】 和GAMES101一起学 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgrOWIuwYovJySvQI.pdf |
3 | 《Computer graphics: principles and practice》 by Foley | 【大局观】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgrOWIuwYouJmOBw.pdf 该书内容涵盖非常广泛,从最基础的rasterization algorithm到现代GPU设计及并行计算应有尽有。这本书之所以有名一方面是因为其全面地介绍了计算机图形学的基本概念和经典算法,另一方面也来自于这本书的历史地位。该书第一版出版于1982年,可以说这本教材见证了计算机图形学界的发展,当然,本书也多次改版增添了大量内容以适应计算机图形学的飞速发展。从任何一个角度看,本书都是值得学习的经典入门书目。 |
4 | Learn OpenGL | 【实战】【OpenGL】 | 英文版: 中文版: https://learnopengl-cn.github.io/01%20Getting%20started/01%20OpenGL/ 学习笔记: |
4‘ | 《OpenGL编程指南(红宝书)》 | 【实战】【OpenGL】 4的平替 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAgrOWIuwYorJP8-AM.pdf |
顺序 | 资源 | 知识分类/使用方法 | 链接和介绍 |
1 | GAMES202 高质量实时渲染 结合 《Real-time rendering》 (RTR4)实时计算机图形学 | 【渲染】 | https://sites.cs.ucsb.edu/~lingqi/teaching/games202.html https://www.bilibili.com/video/BV1YK4y1T7yY/?p=1 这个阶段,如果有心想学习游戏引擎,或具体的渲染管线。可以自己结合一种API,或者引擎。手工造一套渲染管线,并实现各种效果,各种阴影,PBR,SSAO,TAA,全局光照等等等等。这里我依然不会推荐图形API的教程,因为这是可以自己搜索解决的。 |
2 | 《Ray tracing in one weekend》系列三本书 | 【渲染】【实战】 适合有编程基础的人,跟着做实战项目 | https://github.com/RayTracing/raytracing.github.io 适合有编程基础的人,跟着做实战项目 前两本书的内容课上应该都覆盖到了,第三本里面介绍了课上没讲的重要性采样。但是那本书也有缺点,可能是因为不是严肃的入门书, |
3 | 《Polygon Mesh Processing》 | 【几何】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAg2aeMuwYokNf94QE.pdf 推荐理由:几何处理是计算机图形学的一个重要研究方向,本书出自几位当今活跃在科研一线的几何处理大师之手,基本涵盖了几何处理的各个重要研究方向,每个章节还为想深入研究该方向的同学列出了扩展阅读的材料,适合想深入学习研究几何处理的同学研读。 |
4 | GAMES103:基于物理的计算机动画入门 | 【模拟】 | |
5 | GAMES201:高级物理引擎实战指南2020 | 【模拟】 | |
6 | GAMES104-现代游戏引擎:从入门到实践 | 【游戏引擎】 | https://games-cn.org/games104-slides/ |
7 | 《Interactive Computer Graphics: A Top-Down Approach with WebGL》by Edward Angel and Dave Shreiner 交互式计算机图形学 | 【实战】【WebGL】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAg2qeMuwYoouCRRw.pdf This is not a book for learning WebGL or OpenGL. Rather, it uses WebGL to teach the fundamentals of computer graphics. A solid, modern text, and recommended as a precursor for our own book. |
8 | 《Introduction to 3d game programming with directx11》 (龙书) | 【实战】【DirectX】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAg2qeMuwYo1Mnt1Qc.pdf 重代码 |
9 | Unity3d | 【实战】【Unity3d】 | 学习C#: https://space.bilibili.com/38043731/channel/seriesdetail?sid=1469863&ctype=0 跟着视频做小游戏: https://space.bilibili.com/38043731/channel/seriesdetail?sid=1469865&ctype=0 |
顺序 | 资源 | 知识分类/使用方法 | 链接和介绍 |
1 | 《Physically Based Rendering: From Theory to Implementation (PBRT)》 | 【渲染】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAg2qeMuwYo-Nf1_wc.pdf 这本书对新手来说难度太大。如果不做科研的话,读这本书基本等于劝退。而如果想要用它作为科研起步读物的话,这本书的编排又有点过于零碎,更像字典而不像教科书。 == 推荐理由:基于光线追踪的渲染算法最佳教材,该教材在渲染领域如雷贯耳,同时与该书配套的渲染系统PBRT也在计算机图形学领域被广泛应用,是学界最常用的渲染引擎之一。该书的作者也是渲染领域的几位大师级专家,该书涉及了光线追踪渲染的各个方向,同时该书的最新版也及时引入了大量新近的光线追踪渲染算法。光线追踪已经是现代电影特效工业的基础模块,同时随着基于GPU的光线追踪的发展,光线追踪在游戏中也会逐渐发挥自己的特长。该书是学习渲染的入门必读书目。 |
2 | Ke-Sen Huang's Home Page | 【论文】 | https://kesen.realtimerendering.com/ 找资料时当字典用 |
3 | GPU Gems GPU精粹 Nvidia | 【GPU】 | |
4 | 《Computational Geometry: Algorithms and Applications》 | 【数学】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAg2qeMuwYo-6LWjgI.pdf 推荐理由:计算几何是图形学的一个重要数学基础,本书围绕计算机图形学应用总结了计算几何的经典算法,是计算几何的经典入门书目。 |
5 | 《3D math primer for graphics and game development》 | 【数学】 | https://32931414.s21i.faiusr.com/61/ABUIABA9GAAg2aeMuwYo2vjd4QE.pdf |