课程介绍:
Shader在游戏中的作用非常重要,然而学习shader的路却不是那么容易,它涉及到方方面面的知识和基础, 比如:3D数学,计算机图形学甚至硬件。很多朋友为了达到一种特别的功能,往往在互联网上四处搜索别人的shader,最后却找不到适合自己需求的东西。与其纠结在无法理解和改良别人shader的痛苦中,不如放弃盲目和被动,转而从头学习这种“代码的艺术”。
本教程“授人以渔”,为大家带来零起点的shader教学,从图形硬件的发展史开始,讲GPU可编程管线,讲现代shader language的发展历程,让大家能从一个纵深的过程中宏观的了解这种技术的前世今生。教程以Unity引擎为环境 ,重点放在Cg语言的学习和经典光照的计算上。 为了突破难点,作者铺助了大量图文课件进行讲解3D数学和图形学知识,手把手在unity环境下进行逐行代码的coding教学,期望帮助大家进入Shader编程的大门,最终能在实际的工程实践中有些创造和创新。
课程大纲:
- 初级课时
- 图形硬件简史与可编程管线
- Shader和渲染管线
- 三大主流编程语言 HLSL/GLSL/ Cg
- Unity shader 的组织形式 (Shaderlab)
- 固定管线shader (Fixed function shader)_1
- 固定管线shader (Fixed function shader)_2
- Surface shader 1
- Surface shader 2
- Cg 语言入门 1 输入输出和语义
- Cg 语言入门 3 profile和基本数据类型
- Cg 语言入门 4数据类型和swizzle操作
- Cg 语言入门 5流程控制
- Cg 语言入门 6Cg 函数 1
- Cg 语言入门 6Cg 函数 2
- 3D数学基础 1 - 坐标系
- 3D数学基础 2 - 向量
- 3D数学基础 3 - 矩阵
- 3D数学基础 4 - 矩阵和行列式
- 3D数学基础 5 - 矩阵的逆
- 3D数学基础 6 - 矩阵和变换
- 3D数学基础实例- C# 矩阵变换与三维渲染 1
- 3D数学基础实例- C# 矩阵变换与三维渲染 2
- 3D数学基础实例- C# 矩阵变换与三维渲染 3
- 3D数学基础实例- C# 矩阵变换与三维渲染 4
- 3D数学基础实例- C# 矩阵变换与三维渲染 5
- 3D数学基础实例- C# 矩阵变换与三维渲染 6
- Vertex Shader - 顶点数据的输入与输出 1
- Vertex Shader - 顶点数据的输入与输出 2
- Vertex Shader - 更好的数据组织方式struct
- Vertex Shader - Uniform 与 properties属性
- Vertex Shader - 几何变换 —MVP矩阵变换 1
- Vertex Shader - 几何变换 —MVP矩阵变换 2
- Vertex Shader - 几何变换 —顶点颜色变换 1
- Vertex Shader - 几何变换 —顶点颜色变换 2
- Vertex Shader - 几何变换 —顶点位移
- Vertex Shader - 几何变换 —扭曲
- Vertex Shader - 几何变换 —波
- 图形学入门 - 法向量与光照
- 基础实例 - C# 光照渲染 1
- 基础实例- C# 光照渲染 2
- 基础实例- C# 光照渲染 3
- 基础实例- C# 光照渲染 4
- 图形学入门 - 实现漫反射 Diffuse shader 1
- 图形学入门 - 实现漫反射 Diffuse shader 2
- 图形学入门 - 反射向量与Cg reflect函数
- 图形学入门 – 实现phong 光照
- 图形学入门 - 半角向量与BlinnPhong
- Fragment shader - 片段级光照 1
- Fragment shader - 片段级光照 2
- Fragment shader - 片段级光照 3
- Fragment shader - 片段颜色混合
- Fragment shader - 边缘泛光shader 1
- Fragment shader - 边缘泛光shader 2
- Fragment shader - 片段级模型动态变色 1
- Fragment shader - 片段级模型动态变色 2
- Fragment shader - 片段级模型动态变色 3
- Fragment shader - 2D纹理采样 1
- Fragment shader - 2D纹理采样 2
- Fragment shader - 2D纹理采样 3
- Fragment shader – UV动画 1
- Fragment shader – UV动画 2
- Fragment shader – UV动画 3
- Fragment shader –纹理混合动画 1
- Fragment shader –纹理混合动画 2
- Fragment shader – 程序纹理
- Fragment shader – 程序纹理水波仿真1
- Fragment shader – 程序纹理水波仿真2
- Fragment shader – 程序纹理水波仿真3
- Fragment shader – 程序纹理水波仿真4
- Fragment shader - Alpha 与 blend 运算
- Fragment shader 7 - 实现半透明着色 1
- Fragment shader 7 - 实现半透明着色 2
- Fragment shader - 纹理法线与凹凸贴图 1
- Fragment shader - 纹理法线与凹凸贴图 2
- Fragment shader - 纹理法线与凹凸贴图 3
- Fragment shader - 纹理法线与凹凸贴图 4
- Fragment shader - Cube纹理采样
- Fragment shader - 实现高效的reflection shader
-
相关资源