Skip to content

背面剔除和裁剪

转换到裁剪空间后会进行两个操作,分别是背面剔除和裁剪,顺序并不固定

背面剔除

去除背对摄像机的三角形,其实即使不剔除也可以正确渲染出图像,但是为了性能考虑,不应该绘制看不到的物体

进行背面剔除有两种方式

  • 判断眼睛的是否在三角形的前面,即判断三角形所在平面的法向量与眼睛到三角形的向量,如果方向大致相同,则三角形为背面
  • 判断屏幕空间中三角形顶点的顺序,我们约定从正面看时,三角形顶点的顺序为顺时针,那么逆时针顺序的三角形便可以剔除

通过第一种方式向渲染硬件投送几何体已经出现瓶颈,常用第二种方式进行剔除

裁剪

即使正对三角形也可能存在不在视锥体中的情况,因此这一步骤是裁剪掉不在视锥体中的部分。

常用的标准多边形裁剪算法是Sutherland-Hodgman算法