|
|
@@ -2050,6 +2050,8 @@ Shadow Mapping可以处理硬阴影的情况:即一个点要么在阴影中,
|
|
|
|
|
|
所以必须想办法提高渲染的效率
|
|
|
|
|
|
+#### AABB
|
|
|
+
|
|
|
使用 **包围盒** / **包围体积** / `Bounding Volumes`
|
|
|
|
|
|

|
|
|
@@ -2066,6 +2068,8 @@ Shadow Mapping可以处理硬阴影的情况:即一个点要么在阴影中,
|
|
|
|
|
|
以二维平面为例
|
|
|
|
|
|
+一般用 $Point_0 = (x_{0}, y_{0})$ 和 $Point_1 = (x_{1}, y_{1})$ 就可以表示一个二维平面的包围盒,${Point_0}$ 表示 矩形 的左下角,${Point_1}$ 表示矩形的 右上角,通过两点即可表示出一个矩形
|
|
|
+
|
|
|
- 上图中间得到 $t_{y_{min}}$ 和 $t_{y_{max}}$ 两个点,表示光线与包围盒y轴交点是t的值
|
|
|
- 上图左边得到 $t_{x_{min}}$ 和 $t_{x_{max}}$ 两个点,表示光线与包围盒x轴交点是t的值
|
|
|
- 那么在包围盒中的t值为 $t_{x_{min}}$ 和 $t_{y_{max}}$
|
|
|
@@ -2077,6 +2081,8 @@ Shadow Mapping可以处理硬阴影的情况:即一个点要么在阴影中,
|
|
|
|
|
|
于是将该理论发展到三维空间
|
|
|
|
|
|
+$Point_0 = (x_{min}, y_{min}, z_{min})$ 和 $Point_1 = (x_{max}, y_{max}, z_{min})$ 可以表示一个三维空间的矩形范围
|
|
|
+
|
|
|
$t_{enter} = min(t_{x_{min}}, t_{y_{min}}, t_{z_{min}})$
|
|
|
$t_{quit} = max(t_{x_{max}}, t_{y_{max}}, t_{z_{max}})$
|
|
|
|