05/14/2020
什么是背面剔除
通常来说,肉眼看不见的面算背面,这些背面看不见就不需要绘制出来。一个立方体有六个面,通常最多看到三个面,其他三个面就可以不需要绘制,同时立方体内部的面也不需要绘制。假如是一个平面三角形,它依然有两个面,正面和背面。
如何判定一个面是正面或者反面
考虑三角形的法向量与摄像机的相对位置
叉乘与点乘
叉乘计算三角形法向量
三角形的法向量可以通过三角形两边作为向量叉乘得到。如何判断法向量的方向是,将第一个向量的头和第二个向量的尾相连,判断是否是顺时针或者逆时针,注意左右手坐标系会导致不同的结果。
摄像机到三角形的方向
摄像机到三角形任意点的向量,两点相减的向量
点乘表示两个向量之间角度的情况
- 点乘大于0,方位基本相同,三角形是背面
- 点乘等于0,呈现直角90度,三角形显示一条边
- 点乘小于0,方向基本相反,三角形是正面
顺时针与逆时针的定义
通常在传输三角形顶点时候可以规定顺时针的三个点是正面,那反着看三角形三个顶点是逆时针的,提前规定好,就不需要判断正方面了。
注意
摄像机的朝向不需要考虑,只考虑摄像机与物体的相对位置。
如果考虑摄像机朝向,那就变成裁剪问题