边界判定
4. 边界判定
4.1 边界函数(Edge Function)
设二维平面上的一条直线,上面有两个点
称这个函数为这条直线的边界函数(Edge Function),当
4.2 判定三角形内外
对于逆时针排列三角形,如果一个点如果在三角形内,那么这个点一定在所有三条边的“左侧”,反之,只要有这个点出现在任意一条边的“右侧”,那么这个点就是在三角形的外部
4.3 判定三角形的边(Top-Left规则)
如果一个点出恰好现在三角形某个边上,也就是某个EdgeFunction的值恰好为零,需要根据Top-Left规则来判定这个点是否归属改三角形。 这是由于图形学中会出现两个三角形共享一条边的情况,而这种情况下边上的点应该只归属其中一个三角形,Top-Left是一个约定的规则:
如果边出现三角形左侧或者恰好是水平方向最上面的边,则这种边属于这个三角形
例如上面的三角形,实线边是属于这个三角形的,虚线边则不属于。 DirectX的光栅化规则也是遵守的这个规则

如果一个点是两个边的公有点,则只有在这两条边都是属于三角形的边的情况下,这个顶点才是属于这个三角形的,以保证在光栅化过程中,所有点都属于唯一的某个三角形,例如下面的一个比较极端的例子,对8个小三角形的光栅化