[蛮牛教育]Shader编程教程_Shader新手入门视频教程_Shader编程从入门到精通
Shader在游戏中的作用非常重要,然而学习shader的路却不是那么容易,它涉及到方方面面的知识和基础, 比如:3D数学,计算机图形学甚至硬件。很多朋友为了达到一种特别的功能,往往在互联网上四处搜索别人的shader,最后却找不到适合自己需求的东西。与其纠结在无法理解和改良别人shader的痛苦中,不如放弃盲目和被动,转而从头学习这种“代码的艺术”。
本教程“授人以渔”,为大家带来零起点的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