计算机图形学是研究怎样利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科,是计算机科学与技术、软件工程、数字媒体技术等专业的必修课。近年来,计算机图形学被广泛应用在影片渲染、计算机游戏、虚拟现实、科学计算可视化等多个方面。
我们的计算机图形学课程有管线视角、理论体系完整、编程框架先进(将对课程中讲解的实验提供配套代码下载,包括完整工程以及工程中用到的资源,如课程团队原创的卡通人物形象的模型资源等)三个特点:
第一,管线视角的图形学,按照图形渲染管线的三个概念阶段,即应用程序阶段、几何阶段、光栅化阶段来组织课程内容,将整个课程内容划分为五篇:基础篇、应用程序、几何阶段、光栅化阶段、高级话题。
第二,构建完整的理论体系,将传统理论和图形新发展结合起来,既包括朴素的软光栅、经典的造型技术,也包括真实感图形学的光照、纹理、阴影等内容,在这些内容中不仅体现经典的算法,还包括一些新的算法如实时光线追踪、法线贴图、实时动态阴影等。
第三,搭建先进实用的编程框架,基于可编程管线进行图形编程,采用主流的图形标准OpenGL,并用采用其着色器语言OpenGL Shading Language(简称GLSL)进行着色器的编写(Shader的编写思想与Unity3D相通)。这个图形编程框架充分利用了日趋强大的GPU的计算能力,和目前工业界的实际做法完全相通。设置了从在一个窗口中绘制多边形到粒子系统、延迟渲染的多个进阶实验,逐步提高学生的图形编程能力。实验将提供配套代码的下载链接。
为了使对计算机图形学感兴趣的同学们拥有更好的学习体验,本次我们的计算机图形学课程还添加了如下的两个部分:
第一部分,光栅化渲染器,它是一个在浏览器中学习渲染管线知识的工具。同学们可以交互式地学习渲染流程中的各种算法;也可以通过在线的管线编辑器,自由探究渲染管线中的各个阶段,甚至创造出自己独特的软渲染管线。
第二部分,PBR渲染器,它是一款渐进式学习PBR的教学渲染器,随着学习的不断深入,可以逐步解锁PBR更高级复杂的功能。同学们在这里可以学习到图形学物理渲染相关的进阶知识,看到一些PBR相关的渲染方法,以及它呈现出的漂亮效果。
1、让学生学习到经典的图形理论;
2、让学生了解最新的基于GPU的可编程渲染流程;
3、带领学生基于最新的图形编程框架(基于OpenGL和GLSL)完成实验;
4、让大家感觉渲染影片、开发游戏引擎、实现虚拟现实应用、进行科学计算可视化并非遥不可及。
第一周导学
第一周导学
课程导学与第一篇导学
图形学课程导学
第一篇导学
1.欢迎来到图形世界
1.1初识图形学
1.2有趣的图形应用和研究
2.认识图形系统
2.1图形系统浅析
2.2从穿孔纸到数据衣:输入设备
2.3从CRT到3D显示(上):CRT的前世今生
2.3从CRT到3D显示(中):平板的奥秘
2.3从CRT到3D显示(下):神奇的3D显示
2.4从CPU到GPU:图形显示子系统
第一周周测
第二周导学
第二周导学
3.可编程渲染管线
3.1从固定到可编程
3.2探秘GPU渲染管线
3.3着色器编程
实验导学
实验——在窗口中绘制三角形
第二周周测
第二篇导学
对第二篇也就是管线的第一个概念阶段(应用程序阶段)进行导学
4.图形思维的起点——朴素的软光栅(一)
4.1初次尝试——点和直线(上):DDA算法
4.1初次尝试——点和直线(中):中点的Bresenham算法
4.1初次尝试——点和直线(下):改进的Bresenham算法
第三周周测
第三周导学
第三周导学
4.图形思维的起点——朴素的软光栅(二)
4.4遇见多边形(上): X扫描线算法
4.4遇见多边形(中): Y向连贯性算法
4.4遇见多边形(下): 边标志算法
4.5巧妙的区域填充
4.6属性——改变图元的模样
4.7必不可少的反走样
小图助学:朴素的软光栅
实验:四边形绘制
4.2 如果是圆?(上):八分法画圆
4.2 如果是圆?(下):中点画圆法
4.3椭圆又如何?:椭圆的中点Bresenham画法
第四周导学
第四周导学
5.探秘造型技术
5.1初识造型技术
5.2 样条的魔力(上):基本概念
5.2样条的魔力(下):样条表示
小图助学:样条的魔力
5.3规则形体(上):边界表示
5.3规则形体(中):构造实体几何法
5.3规则形体(下):空间分割表示
小图助学:规则形体造型
5.4遇见非规则(上):自然的奥秘——分形几何
5.4遇见非规则(下):聚沙成塔——粒子系统
小图助学:非规则形体造型
实验:球的绘制
实验:模型导入
第四周周测
第五周导学
第五周导学
第三篇导学
第三篇导学
6.变换与观察
6.1神奇的齐次坐标
6.2三维模型,动起来!
小图助学:模型变换
6.3观察者也能动
小图助学:观察变换
7.投影变换
7.1有趣的投影
7.2规范化的投影变换
第五周周测
8.裁剪与屏幕映射
8.1裁剪思想(上):规整的编码裁剪
8.1裁剪思想(下):聪明的Liang-Barsky算法
8.2真正的裁剪——在三维空间遇见多边形
8.3几何阶段的完结:屏幕映射
实验:立方体旋转
实验:摄像机
小图助学:线段裁剪
小图助学:多边形裁剪
补充:如何配置实验环境?
第六周导学
第六周导学
第四篇导学
对第四周的教学内容进行导学,包括讲解片元着色和片元操作。
9.奇妙的真实感——片元着色(一)
9.1图形渲染与视觉外观
9.2奇妙的颜色(上):视觉现象
9.2奇妙的颜色(下):颜色模型
9.3光照明模型(上):Phong模型初步
小图助学:Phong模型
9.3光照明模型(中):Phong模型实现
小图助学:Blinn-Phong模型
9.3光照明模型(下):全局光照
小图助学:光线追踪算法
实验:Phong模型
第七周导学
第七周导学
9.奇妙的真实感——片元着色(二)
9.4让人头疼的纹理(上):颜色纹理
实验:颜色纹理(天空盒)
9.4让人头疼的纹理(下):几何纹理
实验:几何纹理(法线贴图)
9.5加入阴影会怎样?
实验:实时动态阴影
小图助学:纹理
第9章测试
第八周导学
第八周导学
10. 有趣的测试和合并——片元操作
10.1再看片元操作
10.2谁遮住了我?
实验:混合(透明物体处理)
小图助学:混合
补充:如何配置实验环境?
第九周导学
第九周导学
第五篇导学
对第五篇也就是高级话题进行导学。
11.高级渲染
11.1基于物理的渲染
11.2游戏中的渲染
实验:延迟渲染
第十-十一周导学
第十-十一周导学
综合应用
1、实验:粒子系统
2、小图助学:科学计算可视化
3、小图助学:小图漫游华中科技大学东校区
4、小图助学:小图漫游渲染管线
第十二-十四周导学
第十二-十四周导学
复习题(1)
复习题(2)
复习题(3)
C语言、C++初步。
证书要求
课程成绩构成如下:
(1)单元测验:30%
(2)交流讨论:20%
(3)期末考试:50%
本课程设置两档成绩:
(1)合格证书:课程总成绩满足≥60分,但是又没有达到80分;
(2)优秀证书:课程总成绩满足≥80分。
1、课程中给出的PDF文件;
2、陆峰,何云峰编著的《计算机图形学基础(第3版)》。
3、Real-Time Rendering 4th Edition;