游戏开发工程师--Computer Graphics

924 阅读6分钟

01 欢迎来到图形世界

介绍图形学的基本概念和发展历史,讲解图形学的应用领域和研究方向。
1.1初识图形学
1.2有趣的图形应用和研究

02 认识图形系统

讲解图形系统的构成,介绍输入设备、显示设备和图形子系统的构成。 2.1图形系统浅析

显卡驱动

2.2从穿孔纸到数据衣:输入设备
2.3从CRT到3D显示(上):CRT的前世今生
2.3从CRT到3D显示(中):平板的奥秘
2.3从CRT到3D显示(下):神奇的3D显示
2.4从CPU到GPU:图形显示子系统

03 可编程渲染管线

讲解可编程渲染管线的流程,介绍着色器编程,给出搭建实验环境的的方法并通过绘制窗口进行验证。 3.1从固定到可编程

3.2探秘GPU渲染管线

3.3着色器编程 实验 绘制窗口(搭建实验环境,绘制窗口,在窗口中绘制三角形)

04 图形思维的起点——朴素的软光栅

通过讲解直线、圆、椭圆、多边形的扫描转换和区域填充,让大家了解基于逐个像素生成图形的方法,启发图形思维。 4.1初次尝试——点和直线(上):DDA算法(数值微分法)
4.1初次尝试——点和直线(中):中点的Bresenham算法
4.1初次尝试——点和直线(下):改进的Bresenham算法
4.2如果是圆?(上):八分法画圆
4.2如果是圆?(下):中点Bresenham画圆
4.3椭圆又如何?
4.4遇见多边形(上):X扫描线算法
4.4遇见多边形(中):Y向连贯性算法
4.4遇见多边形(下):边标志算法
4.5巧妙的区域填充
4.6属性——改变图元的模样
4.7必不可少的反走样
实验 绘制四边形(学习VAO、VBO、EBO,用VAO/VBO和结合EBO两种方式绘制四边形)

05 探秘造型技术

讲解造型技术,既包括规则造型的几种经典方法,也包括针对非规则造型的分形几何、粒子系统等。在实验中则尝试球的绘制和模型的导入。 5.1初识造型技术
5.2样条的魔力
5.3规则形体(上):边界表示
5.3规则形体(中):构造实体几何表示
5.3规则形体(下):空间分割表示
5.4遇见非规则(上):自然的奥秘——分形几何
5.4遇见非规则(下):聚沙成塔——粒子系统
实验 绘制球(shader类的引入,用EBO方式绘制球)
实验 模型导入

06 变换与观察

引入齐次坐标和矩阵运算,学习模型变换和视图变换。 6.1神奇的齐次坐标
6.2三维模型,动起来!(模型变换)
6.2观察者也能动(视图变换,也称观察变换)

07 投影变换

学习基本的投影变换,了解规范化投影空间和相应的变换。 7.1有趣的投影
7.2规范化的投影变换(投影变换)
实验 摄像机(摄像机camera类的引入,通过改变视点位置进行场景漫游)

08 裁剪与屏幕映射

学习裁剪算法及屏幕映射,并以6-8章中学到的模型变换、视图变换和投影变换为基础用PVM矩阵完成立方体旋转的实验。 8.1裁剪思想(上):规整的编码裁剪
8.1裁剪思想(下):聪明的Liang-Barsky算法
8.2真正的裁剪——在三维空间遇见多边形
8.3映射到屏幕
实验 立方体旋转(PVM矩阵、z缓冲的引入,通过更改PVM矩阵来使立方体旋转)

09 奇妙的真实感——片元着色

介绍颜色模型,讲解光照、纹理以及阴影的计算。 9.1图形渲染与视觉外观
9.2奇妙的颜色(上):视觉现象
9.2奇妙的颜色(下):颜色模型
9.3光照明模型:光照的编年史
9.3光照明模型(上):Phong模型初步
9.3光照明模型(中):Phong模型实现
9.3光照明模型(下):全局光照
实验 Phong光照模型 9.4让人头疼的纹理(上):颜色纹理
实验 颜色贴图(平面贴图,立方体贴图) 9.4让人头疼的纹理(下):几何纹理
实验 法线贴图(引入切线空间,实现法线贴图) 9.5加入阴影会怎样?
实验 实时动态阴影(引入帧缓冲附件,实现基于shadow mapping的阴影计算算法)

10 有趣的测试和合并——片元操作

介绍光栅化阶段的片元操作和相关概念,并对深度测试算法进行介绍。 课时 10.1再看片元操作(模板测试、深度测试与颜色混合)
10.2谁遮住了我?(剔除与深度测试)
实验 透明物体处理

11 高级渲染

简单介绍基于物理的渲染,并讲解几种游戏中典型的渲染方法,完成有一定综合性要求的粒子系统和延迟渲染实验。 11.1基于物理的渲染
11.2游戏中的渲染
实验 粒子系统
实验 延迟渲染

参考资料

2、Real-Time Rendering 4th Edition;
3、陆峰,何云峰编著的《计算机图形学基础(第3版)》。

第1章 计算机图形学综述

第2章 计算机图形硬件

第3章 计算机图形软件

第4章 输出图元

第5章 图元的属性

第6章 实现图元及属性的算法

第7章 二维几何变换

第8章 二维观察

第9章 三维几何变换

第10章 三维观察

第11章 层次建模

第12章 计算机动画

第13章 三维对象的表示

第14章 样条表示

第15章 其他三维对象的表示

第16章 可见面判别算法

第17章 光照模型与面绘制算法

第18章 纹理与表面细节添加方法

第19章 颜色模型和颜色应用

第20章 图形用户界面和交互输入方法

第21章 全局光照

第22章 可编程着色器

第23章 基于算法的建模

第24章 数据集可视化

附录A CG数学基础

1.坐标参照系

1.1二维笛卡尔屏幕坐标系 1.2标准二维笛卡尔参考系 1.3xy平面的极坐标 1.4标准三维笛卡尔参考系 1.5三维笛卡尔屏幕坐标系 1.6三维曲线坐标系 1.7立体角

2. 点与向量

2.1点的性质 2.2向量的性质 2.3向量加与标量乘 2.4两向量标量积 2.5两向量向量积

3.张量

4.基向量和度量张量

4.1基向量 4.2正交基 4.3度量张量

5.矩阵

5.1标量乘法与矩阵加法 5.2矩阵乘法 5.3矩阵转置 5.4矩阵的秩 5.5矩阵的逆

6.复数

6.1基本复数运算 6.2虚单位 6.3共轭复数和复数的摸 6.4复数除法 6.5复数的极坐标表示

7.四元数

8.非参数表示

9.参数表示

10.变化率算子

10.1梯度算子 10.2方向导数 10.3梯度算子 10.4拉普拉斯算子 10.5散度算子 10.6旋度算子

11.变化率积分变换定理

11.1斯托克斯定理 11.2格林平面定理 11.3散度定理 11.4格林变换方程

12.多边形的面积和质心

12.1多边形的面积 12.2多边形的质心

13.多面体的计算性质

14.数值方法

14.1求解线性方程组 14.2非线性方程的求根 14.3积分估值 14.4求解常微分方程 14.5求解偏微分方程 14.6数据集的最小二乘曲线拟合方法 附录B 图形文件格式 附录C OpenGL的世界