本教程“授人以渔”,为大家带来零起点的shader教学,从图形硬件的发展史开始,讲GPU可编程管线,讲现代shader language的发展历程,让大家能从一个纵深的过程中宏观的了解这种技术的前世今生。教程以Unity引擎为环境 ,重点放在Cg语言的学习和经典光照的计算上。 为了突破难点,作者铺助了大量图文课件进行讲解3D数学和图形学知识,手把手在unity环境下进行逐行代码的coding教学,期望帮助大家进入Shader编程的大门,最终能在实际的工程实践中有些创造和创新。
1.图形硬件简史与可编程管线
2.Shader和渲染管线
3.三大主流编程语言 HLSL/GLSL/ Cg
4.Unity shader 的组织形式 (Shaderlab)
5.固定管线shader (Fixed function shader)_1
6.固定管线shader (Fixed function shader)_2
7.Surface shader 1
8.Surface shader 2
9.Cg 语言入门 1 输入输出和语义
10.Cg 语言入门 3 profile和基本数据类型
11.Cg 语言入门 4 数据类型和swizzle操作
12.Cg 语言入门 5 流程控制
13.Cg 语言入门 6 Cg 函数 1
14.Cg 语言入门 6 Cg 函数 2
15.3D数学基础 1 - 坐标系
16.3D数学基础 2 - 向量
17.3D数学基础 3 - 矩阵
18.3D数学基础 4 - 矩阵和行列式
19.3D数学基础 5 - 矩阵的逆
20.3D数学基础 6 - 矩阵和变换
21.3D数学基础实例- C# 矩阵变换与三维渲染 1
22.3D数学基础实例- C# 矩阵变换与三维渲染 2
23.3D数学基础实例- C# 矩阵变换与三维渲染 3
24.3D数学基础实例- C# 矩阵变换与三维渲染 4
25.3D数学基础实例- C# 矩阵变换与三维渲染 5
26.3D数学基础实例- C# 矩阵变换与三维渲染 6
27.Vertex Shader - 顶点数据的输入与输出 1
28.Vertex Shader - 顶点数据的输入与输出 2
29.Vertex Shader - 更好的数据组织方式struct
30.Vertex Shader - Uniform 与 properties属性
31.Vertex Shader - 几何变换 —MVP矩阵变换 1
32.Vertex Shader - 几何变换 —MVP矩阵变换 2
33.Vertex Shader - 几何变换 —顶点颜色变换 1
34.Vertex Shader - 几何变换 —顶点颜色变换 2
35.Vertex Shader - 几何变换 —顶点位移
36.Vertex Shader - 几何变换 —扭曲
37.Vertex Shader - 几何变换 —波
38.图形学入门 - 法向量与光照
39.基础实例 - C# 光照渲染 1
40.基础实例- C# 光照渲染 2
41.基础实例- C# 光照渲染 3
42.基础实例- C# 光照渲染 4
43.图形学入门 - 实现漫反射 Diffuse shader 1
44.图形学入门 - 实现漫反射 Diffuse shader 2
45.图形学入门 - 反射向量与Cg reflect函数
46.图形学入门 – 实现phong 光照
47.图形学入门 - 半角向量与BlinnPhong
48. Fragment shader - 片段级光照 1
49.Fragment shader - 片段级光照 2
50.Fragment shader - 片段级光照 3
51.Fragment shader - 片段颜色混合
52.Fragment shader - 边缘泛光shader 1
53.Fragment shader - 边缘泛光shader 2
54.Fragment shader - 片段级模型动态变色 1
55.Fragment shader - 片段级模型动态变色 2
56.Fragment shader - 片段级模型动态变色 3
57.Fragment shader - 2D纹理采样 1
58.Fragment shader - 2D纹理采样 2
59.Fragment shader - 2D纹理采样 3
60.Fragment shader – UV动画 1
61.Fragment shader – UV动画 2
62.Fragment shader – UV动画 3
63.Fragment shader –纹理混合动画 1
64.Fragment shader –纹理混合动画 2
65.Fragment shader – 程序纹理
66.Fragment shader – 程序纹理水波仿真1
67.Fragment shader – 程序纹理水波仿真2
68.Fragment shader – 程序纹理水波仿真3
69.Fragment shader – 程序纹理水波仿真4
70.Fragment shader - Alpha 与 blend 运算
71.Fragment shader 7 - 实现半透明着色 1
72.Fragment shader 7 - 实现半透明着色 2
73.Fragment shader - 纹理法线与凹凸贴图 1
74.Fragment shader - 纹理法线与凹凸贴图 2
75.Fragment shader - 纹理法线与凹凸贴图 3
76.Fragment shader - 纹理法线与凹凸贴图 4
77.Fragment shader - Cube纹理采样
78.Fragment shader - 实现高效的reflection shader