太长不看版
不要
- 不要关注图形API:OpenGL、DirectX、Vulkan等只是API,而原理相同;
- 不要关注GPU还是CPU:它们只是效率不同;
- 不要关注游戏编程类:比如UE引擎等,这些只是上层的应用;
- 不要关注没有代码的论文:CG偏应用,单纯入门没必要;
要
- 上课以建立理论脉络:CG一般包含Rendering/Geometry/Simulation
- 多写代码:CG偏应用,代码蕴含细节;
- 要边理论边实践编程;
建议
- 从头造轮子:便于了解细节;
- 拆解小项目:明白工业级项目,学习其他人的经验;
技能要求
编程技能
- C/C++:参考C++ Primer这本书,没有plus;
理论技能
领域内容
整体结构
主要是建立对CG的整体认识,不要求多么深入,要求结构清晰,方便快速入门。
- 书籍
- Fundamentals of Computer Graphics, Fourth Edition
- 课程
实时渲染
- 书籍:Real-Time Rendering, Fourth Edition
- 课程
几何
动画
拆解项目
这些项目可用于拆解练习。
其他技术资源
光栅技术
Peter Shirley(Fundamentals of Computer Graphics作者)的一系列关于光线追踪的文章Ray Tracing in One Weekend Series。
- Ray Tracing in One Weekend
- Ray Tracing: The Next Week
- Ray Tracing: The Rest of Your Life
参考百科全书——PBR
Physically Based Rendering: From Theory to Implementation
该参考书还配有开源的工业级渲染器以供使用和学习。
学习路线
- 学习GAMES-101,并学习C++实践+做作业;
- 利用Fundamentals of Computer Graphic作为补充内容;
- 在对应章节中,通过拆解项目和资源来深度理解知识;
- 光追技术;
- 光栅化渲染;