本教程“授人以渔”,为大家带来零起点的shader教学,从图形硬件的发展史开始,讲GPU可编程管线,讲现代shader language的发展历程,让大家能从一个纵深的过程中宏观的了解这种技术的前世今生。教程以Unity引擎为环境 ,重点放在Cg语言的学习和经典光照的计算上。 为了突破难点,作者铺助了大量图文课件进行讲解3D数学和图形学知识,手把手在unity环境下进行逐行代码的coding教学,期望帮助大家进入Shader编程的大门,最终能在实际的工程实践中有些创造和创新。 
% {# `% E9 r: k3 s* _ 
1.图形硬件简史与可编程管线 
 
2.Shader和渲染管线' S' E4 |9 v7 c  e  ]$ |  u 
 
3.三大主流编程语言HLSL/GLSL/Cg 
2 q7 r- U7 x5 e& |# B5 @8 V 
4.Unityshader的组织形式(Shaderlab)" t9 \* o# h0 r3 i9 M, |$ f8 u0 Q 
 
5.固定管线shader(Fixedfunctionshader)_10 Z8 b8 C3 V$ j( Z) }; M; D4 ]5 E9 X 
 
6.固定管线shader(Fixedfunctionshader)_2 
 
7.Surfaceshader1# F3 o  V! V, ~ 
& f& u8 S- A, D9 w; P 
8.Surfaceshader29 v, q9 R) D+ M1 w3 Q" t5 V5 I4 i1 [ 
 
9.Cg语言入门1输入输出和语义/ n" x8 Q3 Y( L) `4 q7 ]) E 
 
10.Cg语言入门3profile和基本数据类型0 g% q3 l& w" V' D4 l; o4 U! |& E 
 
11.Cg语言入门4数据类型和swizzle操作) [1 a4 a) o3 @7 A( h9 p 
 
12.Cg语言入门5流程控制 
 
13.Cg语言入门6Cg函数18 w. \9 n' @, O2 y) v 
' ?0 N$ r3 Z3 w0 p" }5 F+ e+ L$ Q 
14.Cg语言入门6Cg函数2 
 
15.3D数学基础1-坐标系$ K: \* U0 Y3 U: x1 S$ [" J 
 
16.3D数学基础2-向量 
 
17.3D数学基础3-矩阵 
, [4 k$ o+ A/ ?; ]& h* d 
18.3D数学基础4-矩阵和行列式0 L( R3 {/ s6 U; J9 d8 @3 m 
 
19.3D数学基础5-矩阵的逆 
 
20.3D数学基础6-矩阵和变换: w/ i. {% ]5 B& V: }% S 
# w9 t# X  Q, M; K 
21.3D数学基础实例-C#矩阵变换与三维渲染1 
: E) h/ S' ]# F  D 
22.3D数学基础实例-C#矩阵变换与三维渲染2 
 
23.3D数学基础实例-C#矩阵变换与三维渲染3 
) R0 E8 ^6 `; `* m' L$ _ 
24.3D数学基础实例-C#矩阵变换与三维渲染4! u; w( T) `2 { 
, s% M. L& ?. S. w 
25.3D数学基础实例-C#矩阵变换与三维渲染52 `& i+ |  _; Q8 B9 ] 
" ?) _$ ?; u! v. h 
26.3D数学基础实例-C#矩阵变换与三维渲染6 
 
27.VertexShader-顶点数据的输入与输出10 P6 S& p0 w& z/ ] 
 
28.VertexShader-顶点数据的输入与输出2, R0 e; E: t1 m 
) a7 G5 |9 W- _" D, B' [ 
29.VertexShader-更好的数据组织方式struct; x  I$ |& ~5 t& g# D' y 
- E$ F4 R: K) F+ q! v/ m3 y) ` 
30.VertexShader-Uniform与properties属性 
5 C% V1 |! Q- ]% ^: V8 J  i 
31.VertexShader-几何变换—MVP矩阵变换1- U. U$ ^2 U* C8 [0 p; K 
9 t: l- M5 R0 Z7 i  u% t 
32.VertexShader-几何变换—MVP矩阵变换20 B' R; c# y( m4 Z 
 
33.VertexShader-几何变换—顶点颜色变换1 
, U3 i$ c9 \) | 
34.VertexShader-几何变换—顶点颜色变换2 
0 X1 a( e/ s7 ^9 W& f2 v% t6 Z" Y 
35.VertexShader-几何变换—顶点位移+ i! |- F% Y5 i9 z6 d( F5 j 
 
36.VertexShader-几何变换—扭曲 
$ ^$ V* v( S9 y! } 
37.VertexShader-几何变换—波5 w9 n% M2 D: t0 l7 G, { 
 
38.图形学入门-法向量与光2 O1 e& ]0 _. P3 W0 r* C 
2 {  m& i4 a  ]  Y4 O! D 
39.基础实例-C#光照渲染1 
 
40.基础实例-C#光照渲染2 
4 l7 {3 ?1 }% K7 s' B 
41.基础实例-C#光照渲染3) E) J# E# ?$ B" x: a; o. H6 w 
 
42.基础实例-C#光照渲染4  f. h! M3 i$ J6 }0 i1 N0 R 
: c6 e" |1 J( g4 B 
43.图形学入门-实现漫反射Diffuseshader1 
# d- t1 }- u1 z" U" f$ j+ z, y 
44.图形学入门-实现漫反射Diffuseshader2, k' b  t% j* l2 u 
& l2 S. }& G  x  m 
45.图形学入门-反射向量与Cgreflect函数 
 
46.图形学入门–实现phong光照" I* P! N  j* N7 Y; P+ L! t; [ 
 
47.图形学入门-半角向量与BlinnPhong 
 
48.Fragmentshader-片段级光照11 ?; e' ^2 w% _" H' }! |/ k 
 
49.Fragmentshader-片段级光照2# `/ F; }9 K$ ]0 m- Q$ L 
 
50.Fragmentshader-片段级光照3 
 
51.Fragmentshader-片段颜色混合4 U0 f$ v' B% M+ s0 D: A5 k 
7 G3 X& v0 O' L4 F! G1 L0 U 
52.Fragmentshader-边缘泛光shader1 
9 w7 T, q' s7 x' d1 X 
53.Fragmentshader-边缘泛光shader2 
" W4 o& U5 w. V# P' P7 J 
54.Fragmentshader-片段级模型动态变色1: f' Y2 ~8 X! s; p- t3 P% V/ v 
% q; L$ e  ?- R) M 
55.Fragmentshader-片段级模型动态变色2 
 
56.Fragmentshader-片段级模型动态变色3/ P9 F! l/ J7 K 
 
57.Fragmentshader-2D纹理采样1+ P3 O8 [3 ^3 F; x0 `) M- { 
 
58.Fragmentshader-2D纹理采样2 
 
59.Fragmentshader-2D纹理采样3 
' u4 _) a* J; C  O' i 
60.Fragmentshader–UV动画1 
* D' J( S2 e- z7 U 
61.Fragmentshader–UV动画2) [3 X0 S& d  U, @' @. _ 
; C$ K9 w+ E+ [; v+ { 
62.Fragmentshader–UV动画34 p4 ]& c- y" e 
/ K1 ?. S, i  p0 A& E 
63.Fragmentshader–纹理混合动画1 
 
64.Fragmentshader–纹理混合动画2 
 
65.Fragmentshader–程序纹理 
 
66.Fragmentshader–程序纹理水波仿真1 
 
67.Fragmentshader–程序纹理水波仿真25 S, z* i) m; s0 | 
 
68.Fragmentshader–程序纹理水波仿真3. K  W: ]& r( D+ N) J, O+ M" t 
$ v$ a# |1 _- Z7 f& J& Z* V9 n 
69.Fragmentshader–程序纹理水波仿真4$ G3 x# ]! P9 a3 l2 j7 V! p/ p# y 
* u  |7 ]+ e! f- G" u2 R) h$ Q 
70.Fragmentshader-Alpha与blend运算& n% e- L+ S" N# K/ r& @' w) t 
- j8 `3 V: @- ? 
71.Fragmentshader7-实现半透明着色1% i( B" v2 O. ? 
 
72.Fragmentshader7-实现半透明着色2/ X2 a% U0 B9 M# c& _2 I+ p1 f 
 
73.Fragmentshader-纹理法线与凹凸贴图1 
: M( x9 o4 y0 o/ [" Z; j% X; j; `9 R 
74.Fragmentshader-纹理法线与凹凸贴图2; Q6 O0 L& o1 @* o: o 
 
75.Fragmentshader-纹理法线与凹凸贴图3 
 
76.Fragmentshader-纹理法线与凹凸贴图44 f' d2 \$ {! V2 |) N. G& w  t 
+ [* ?, K  e) P6 Y6 S3 a5 f" ] 
77.Fragmentshader-Cube纹理采样 
' o9 b: Q& t! |1 Q4 L) D% _% G 
78.Fragmentshader-实现高效的reflectionshader 
 
下载地址: 
 
 |