什么是背面消隐
我们使用三角网格描述物体,在物体被转换到视空间之后,下一步就将被转换到屏幕坐标。
背面消隐指的是删除背向视点(相机的观察点)的多边形。
算法原理
基本的背面消隐算法数学原理很简单:
(1)要求所有的三角形按照统一的方式(顺时针或者逆时针)排列顶点,这很重要,因为关系到平面法向量的计算。
(2)根据三角形的顶点信息计算该三角形的外法向量。
(3)使用观察向量(观察向量是指相机点到三角形某个顶点的向量)测试三角形的外法向量,如果这两个法向量的夹角严格小于90度,那么多边形对于观察者而言是可见的。
简单说明一下(1):
对于该物体,显然面OAB和OBC与ABC对于观察者来说不可见,假设观察向量为view,四个面的法向量计算结果为n1,n2,n3,n4。
(面法向量是由顶点的叉乘计算出来的)