渲染学习笔记
Posted 雪靡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渲染学习笔记相关的知识,希望对你有一定的参考价值。
渲染管线
- 应用程序阶段:
把需要显示的几何信息输入到渲染管线。 - 几何阶段
顶点着色、投影变化、裁剪和屏幕映射。 - 光栅化阶段
三角面设置、三角形遍历。
向量
向量长度:
∥
v
⃗
∥
=
x
2
+
y
2
+
z
2
\\lVert\\vecv\\rVert=\\sqrtx^2+y^2+z^2
∥v∥=x2+y2+z2
单位向量:
n
^
=
v
⃗
∥
v
⃗
∥
\\hatn=\\frac\\vecv\\lVert\\vecv\\rVert
n^=∥v∥v
点乘:
v
⃗
⋅
k
⃗
=
∥
v
⃗
∥
⋅
∥
k
⃗
∥
⋅
cos
θ
\\vecv\\cdot\\veck=\\lVert\\vecv\\rVert\\cdot\\lVert\\veck\\rVert\\cdot\\cos\\theta
v⋅k=∥v∥⋅∥k∥⋅cosθ
v
⃗
⋅
k
⃗
=
1
⋅
1
⋅
cos
θ
=
cos
θ
,
v
为
单
位
向
量
\\vecv\\cdot\\veck=1\\cdot1\\cdot\\cos\\theta=\\cos\\theta,v为单位向量
v⋅k=1⋅1⋅cosθ=cosθ,v为单位向量
cos
θ
=
v
⃗
⋅
k
⃗
∥
v
ˉ
∥
⋅
∥
k
ˉ
∥
\\cos \\theta=\\frac\\vecv \\cdot \\veck\\|\\barv\\| \\cdot\\|\\bark\\|
cosθ=∥vˉ∥⋅∥kˉ∥v⋅k
矩阵
矩阵缩放:
[
S
1
0
0
0
0
S
2
0
0
0
0
S
3
0
0
0
0
1
]
⋅
(
x
y
z
1
)
=
(
S
1
⋅
x
S
2
⋅
y
S
3
⋅
z
1
)
\\left[\\beginarraycccc S_1 & 0 & 0 & 0 \\\\ 0 & S_2 & 0 & 0 \\\\ 0 & 0 & S_3 & 0 \\\\ 0 & 0 & 0 & 1 \\endarray\\right] \\cdot\\left(\\beginarrayc x \\\\ y \\\\ z \\\\ 1 \\endarray\\right)=\\left(\\beginarrayc S_1 \\cdot x \\\\ S_2 \\cdot y \\\\ S_3 \\cdot z \\\\ 1 \\endarray\\right)
⎣⎢⎢⎡S10000S20000S300001⎦⎥⎥⎤⋅⎝⎜⎜⎛xyz1⎠⎟⎟⎞=⎝⎜⎜⎛S1⋅xS2⋅yS3⋅z1⎠⎟⎟⎞
矩阵位移:
[
1
0
0
T
x
0
1
0
T
y
0
0
1
T
z
0
0
0
1
]
⋅
(
x
y
z
1
)
=
(
x
+
T
x
y
+
T
y
z
+
T
z
1
)
\\left[\\beginarraycccc 1 & 0 & 0 & T_x \\\\ 0 & 1 & 0 & T_y \\\\ 0 & 0 & 1 & T_z \\\\ 0 & 0 & 0 & 1 \\endarray\\right] \\cdot\\left(\\beginarrayc x \\\\ y \\\\ z \\\\ 1 \\endarray\\right)=\\left(\\beginarrayc x+T_x \\\\ y+T_y \\\\ z+T_z \\\\ 1 \\endarray\\right)
⎣⎢⎢⎡100001000010TxTyTz1⎦⎥⎥⎤⋅⎝⎜⎜⎛Unity学习笔记4:遮挡剔除LODProfiler光照声音