Why to study:
计算机图形学是计算机科学与技术、软件工程、数字媒体技术等专业的必修课或专业选修课。
计算机图形学相关的应用广泛:主要包括计算机辅助设计、虚拟现实、训练模拟、数据可视化与数字娱乐,它是打造“元宇宙”的基础科学和技术。
What to study:
本课程主要讨论计算机图形学中的基本理论与算法,而不是基于其上建立的面向应用的工具软件的设计和使用。
课堂讲授是本课程的主要教学方式,并且要求学生完成相应的作业和编程项目。
本课程的主要内容包括主要是包括变换,齐次坐标系,摄像机投影模型,二维与三维裁剪方法、隐藏面消除、光照着色模型、光线跟踪模型等的渲染技术;其次是网格造型,曲线曲面与计算,分型,粒子系统等几何造型技术; 以及比较基础的交互和动画技术。
为了学生课下实践的需要,基于图形API的开发技术也会在本课程中加以介绍(如openGL/webGL等)。
目标:
学生通过学习,可以了解和掌握计算机图形学的基本原理,主要技术和发展方向,并通过小型应用开发增强学生提出问题,分析问题、设计解决方案和系统编程实现的专业能力,为今后从事相关工作打下扎实基础。
源课程特点:
课程有管线视角、理论体系完整、编程框架先进三个特点:
第一,管线视角的图形学,按照图形渲染管线的三个概念阶段,即应用程序阶段、几何阶段、光栅化阶段来组织课程内容,将整个课程内容划分为五篇:基础篇、应用程序、几何阶段、光栅化阶段、高级话题。
第二,构建完整的理论体系,将传统理论和图形新发展结合起来,既包括朴素的软光栅、经典的造型技术,也包括真实感图形学的光照、纹理、阴影等内容,在这些内容中不仅体现经典的算法,还包括一些新的算法如实时光线追踪、法线贴图、实时动态阴影等。
第三,搭建先进实用的编程框架,基于可编程管线进行图形编程,采用主流的图形标准OpenGL,并用采用其着色器语言OpenGL Shading Language(简称GLSL)进行着色器的编写(Shader的编写思想与Unity3D相通)。这个图形编程框架充分利用了日趋强大的GPU的计算能力,和目前工业界的实际做法完全相通。设置了从在一个窗口中绘制多边形到粒子系统、延迟渲染的多个进阶实验,逐步提高学生的图形编程能力。
源课程实验将提供配套代码的下载链接。
https://github.com/wanlin405/Computer-Graphics
为了使对计算机图形学感兴趣的同学们拥有更好的学习体验,本次我们的计算机图形学课程将添加了光栅渲染器和PBR渲染器的演示。
1、让学生学习计算机图形学理论基础知识;
2、让学生了解基于GPU的可编程渲染流水线架构;
3、让学生基于较新的底层图形编程接口完成某3D图形项目开发,提高实践能力;
4、让大家感觉渲染影片、开发游戏引擎、实现虚拟现实应用、进行科学计算可视化并非遥不可及。
学习方法及要求:
1.课前预习线上视频等资料
2.课堂讲解重难点,讨论答疑和练习
3.课后完成线上作业
4. 期末提交课程报告及项目(文档,可执行代码和源码)
1、数学知识:基本几何,线性代数为主,其次微积分和概率统计
2、编程基础:程序设计基础,数据结构和算法设计
1.交互式计算机图形学(第八版) (英文版)(美)爱德华 安杰尔,戴夫 斯赖纳 著。-北京:电子工业出版社,2020.8 ,ISBN:978-7-121-39398-3(注:第七版有中文翻译版)
2. Fundamentals of Computer Graphics(5th Edition); Steve Marschner , Peter Shirley. 2015(注:第二版有中文翻译版)
3. GAMES101: 现代计算机图形学入门https://sites.cs.ucsb.edu/~lingqi/teaching/games101.html
4. Computer Graphics with openGL(fourth version) , Donald Hearn M.Pauline Baker , 2014(有中文翻译版,蔡士杰等译,电子工业出版社)
5. Computer Graphics: Principles and Practice(Third Edition), Join F. Hughes.2014(有中文翻译版,彭群生等译,北京机械工业出版社)
6. Real-Time Rendering (4th Edition); Tomas Akenine-Mo¨ller , Eric Haines , Naty Hoffman .2018
1.课程期末是考试还是考察?
回答:是考察形式,提交课程报告和项目代码。
2.学习课程的先修知识有哪些?
回答:至少有线性代数基础,有编程基础,修学过数据结构和算法设计。