|
马上注册,获取更多精彩内容!!!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
〖课程介绍〗:
* J2 X) L( w- v) l Shader在游戏中的作用非常重要,然而学习shader的路却不是那么容易,它涉及到方方面面的知识和基础, 比如:3D数学,计算机图形学甚至硬件。很多朋友为了达到一种特别的功能,往往在互联网上四处搜索别人的shader,最后却找不到适合自己需求的东西。与其纠结在无法理解和改良别人shader的痛苦中,不如放弃盲目和被动,转而从头学习这种“代码的艺术”。: w5 P& S- o9 G5 o0 H" B" [5 ?& O. e. }4 h
本教程“授人以渔”,为大家带来零起点的shader教学,从图形硬件的发展史开始,讲GPU可编程管线,讲现代shader language的发展历程,让大家能从一个纵深的过程中宏观的了解这种技术的前世今生。教程以Unity引擎为环境 ,重点放在Cg语言的学习和经典光照的计算上。 为了突破难点,作者铺助了大量图文课件进行讲解3D数学和图形学知识,手把手在unity环境下进行逐行代码的coding教学,期望帮助大家进入Shader编程的大门,最终能在实际的工程实践中有些创造和创新。! n s9 X: w4 G8 _0 Y
7 B) U+ e( V0 n3 _4 `3 ]3 b
〖课程目录〗:: k0 S0 D0 S" S! c
1.图形硬件简史与可编程管线# a8 n4 s' q0 j" S7 k3 J) K _
2.Shader和渲染管线$ s3 ^! R! \3 M& n7 D0 \
3.三大主流编程语言 HLSL/GLSL/ Cg
4 `* C$ ?4 u' z8 j+ }; ?" c 4.Unity shader 的组织形式 (Shaderlab)7 c/ K* I+ a# M. U. O) x* ]0 e
5.固定管线shader (Fixed function shader)_1: L8 s. a \, d
6.固定管线shader (Fixed function shader)_20 e. J* ], @; F9 z
7.Surface shader 1
9 y+ P; N! ^9 _' I 8.Surface shader 2
; U$ v% h- C, ^ 9.Cg 语言入门 1 输入输出和语义 c X& `' s! A
10.Cg 语言入门 3 profile和基本数据类型
9 z s$ F/ |8 m* O, {' w2 r4 ~ Y 11.Cg 语言入门 4数据类型和swizzle操作* m0 v y7 G( z0 y
12.Cg 语言入门 5流程控制
0 t4 d2 J+ R5 {! p2 u5 J 13.Cg 语言入门 6Cg 函数1! \% h# [7 x& z# ~
14.Cg 语言入门 6Cg 函数2
# y7 R1 T w4 h4 q& |8 R3 t 15.3D数学基础 1 - 坐标系
( p& ]9 A0 }' M+ _5 B 16.3D数学基础 2 - 向量9 B1 {5 n8 D! x- @) D
17.3D数学基础 3 - 矩阵
: i. m3 ?. J: j, |4 @7 J 18.3D数学基础 4 - 矩阵和行列式" Y3 @; ~) N: {, Q' N6 r7 w
19.3D数学基础 5 - 矩阵的逆8 T# `6 `9 K7 N* `7 K
20.3D数学基础 6 - 矩阵和变换
* W; c+ u- r# ?" ~ 21.3D数学基础实例-C# 矩阵变换与三维渲染1 Y! g# r$ H$ H4 b5 w* Y9 ~1 @
22.3D数学基础实例-C# 矩阵变换与三维渲染2' A" v; ?* z) V" D" j8 y, O
23.3D数学基础实例-C# 矩阵变换与三维渲染3; m4 T% O) R6 t8 o* T% ~+ P
24.3D数学基础实例-C# 矩阵变换与三维渲染4 J: _# j, T; T' m( }
25.3D数学基础实例-C# 矩阵变换与三维渲染5
! h+ a! r6 m6 Y6 B- V 26.3D数学基础实例-C# 矩阵变换与三维渲染6
- k$ n7 a7 K& n+ Y" u* e$ r- o$ i 27.Vertex Shader- 顶点数据的输入与输出1
/ @& z2 d; a2 W& Y: o/ | 28.Vertex Shader- 顶点数据的输入与输出2( x8 F; w5 |) r; O3 {! d( {' Y
29.Vertex Shader- 更好的数据组织方式struct! \. ^8 Y! [' {' b% Q$ E
30.Vertex Shader-Uniform 与 properties属性
$ Y, R5 l* G5 A( c2 R- @ 31.Vertex Shader- 几何变换 —MVP矩阵变换 1
6 O3 `; W- Y8 u, L" w 32.Vertex Shader- 几何变换 —MVP矩阵变换 2
# o. ?+ _7 |7 P" j4 ~/ Q 33.Vertex Shader- 几何变换 —顶点颜色变换 1
3 |- X& X5 Y4 b+ j+ e4 D& a 34.Vertex Shader- 几何变换 —顶点颜色变换 2
w/ ^5 O6 d" D5 U2 h0 s3 E8 @" q 35.Vertex Shader- 几何变换 —顶点位移
6 f4 G$ c8 [" h9 R 36.Vertex Shader- 几何变换 —扭曲
' G( V k/ K! `+ p1 i% Z/ @ 37.Vertex Shader- 几何变换 —波
. a4 g7 l+ } S: D( [$ j2 ^ 38.图形学入门- 法向量与光照# T. l& Y9 _* f7 ?. Q% v! l, h
39.基础实例 -C# 光照渲染17 g0 W+ o3 T0 w; @
40.基础实例-C# 光照渲染2
& h+ I G2 o# f) Q/ C. b1 k& N 41.基础实例-C# 光照渲染3! d; Z x, Q# O- o" M9 \% a8 I
42.基础实例-C# 光照渲染4
; ?! D2 y, M- Z+ d* Q" }( h 43.图形学入门-实现漫反射 Diffuseshader1
9 \8 m' f, d. u( s 44.图形学入门-实现漫反射 Diffuseshader2& P0 |- P+ |" @% v* \7 k
45.图形学入门- 反射向量与Cg reflect函数) @/ z0 L8 Y/ X( N/ I
46.图形学入门–实现phong 光照" c+ `* S# j2 v
47.图形学入门- 半角向量与BlinnPhong4 b2 A, `- a9 _8 |
48.Fragment shader- 片段级光照1
7 h. W$ U) _) S) s9 P 49.Fragment shader- 片段级光照2( z8 b: [; \ m* I. {( x
50.Fragment shader- 片段级光照3
4 _% W3 w9 F+ s' b; _: P 51.Fragment shader- 片段颜色混合
3 h' X" p6 t [ 52.Fragment shader- 边缘泛光shader 1
- D2 a' D* x. U/ P" T. _. v 53.Fragment shader- 边缘泛光shader 2
6 b) H' H, v% B3 X) `: t! c 54.Fragment shader- 片段级模型动态变色 19 p' g2 v! | I2 J. ^
55.Fragment shader- 片段级模型动态变色 2
) ?/ ]+ e9 {/ l3 c& y* I 56.Fragment shader- 片段级模型动态变色 3
" H- y3 V) t3 y* a6 n' L5 @ Y 57.Fragment shader-2D纹理采样1
3 U+ \" N) P; h 58.Fragment shader-2D纹理采样2) r0 o9 D+ M4 r7 F: G, G+ w9 x
59.Fragment shader-2D纹理采样3; h- h% o. \, c& P$ a& g
60.Fragment shader– UV动画 12 k' O, m+ l1 `; M }: ^
61.Fragment shader– UV动画 2
3 E& J; u6 Z; I0 r7 J4 E8 h" V* ^; Y5 w 62.Fragment shader– UV动画 3( k! F3 D$ s8 y6 i p& L: P' d* c
63.Fragment shader–纹理混合动画 1/ E' B( v6 Z$ r; o
64.Fragment shader–纹理混合动画 2" J( H' o" k* a( \, p2 ~
65.Fragment shader– 程序纹理# v: _2 [$ l. @
66.Fragment shader– 程序纹理水波仿真1
3 p' x3 m# z- F z6 W 67.Fragment shader– 程序纹理水波仿真2
( N2 p5 ?3 P: S5 B 68.Fragment shader– 程序纹理水波仿真3- I3 p* k0 u/ F; A; e; x5 Y# P
69.Fragment shader– 程序纹理水波仿真4, ]) Y0 u9 F/ j" j. w. P6 Z) V8 l0 q
70.Fragment shader-Alpha 与 blend 运算) y" @* ~! C$ G& G a0 [
71.Fragment shader 7 - 实现半透明着色1
6 W3 `. h/ p" R/ y7 Z4 Y 72.Fragment shader 7 - 实现半透明着色2
, t5 |2 i0 h8 W* n! U B 73.Fragment shader- 纹理法线与凹凸贴图 1
( N9 g( Y- E; Z 74.Fragment shader- 纹理法线与凹凸贴图 2
/ c' q. f, E6 s Y' m; \2 L, i 75.Fragment shader- 纹理法线与凹凸贴图 3
1 U, l, Z# Q+ t8 X- y# A 76.Fragment shader- 纹理法线与凹凸贴图 4
! o; K7 X7 `+ D/ _ 77.Fragment shader- Cube纹理采样+ d4 Q/ L1 N* U
78.Fragment shader- 实现高效的reflection shader
- X! e/ Q! Y4 C) V# k2 I( B% k; A* b* m# @ E3 j$ e. N3 Z
$ ?1 \3 d. w0 e3 d ~
7 B5 G! O: ]3 I. k4 L3 z |
|