在OpenGL中,如何清除3D区域中的绘制图元

时间:2013-11-22 03:48:52

标签: opengl glut

让我们说,我在(0,0,0),(9,0,0)和(10,0,0)处使用glVertex3f绘制3个点 我想清除边界框区域(2,-1,-1)到(15,1,1)中的所有Vertex3f点,其中应包括最后两个点。

如何在OpenGL中执行此操作?

1 个答案:

答案 0 :(得分:2)

在OpenGL之外管理您的点图。 IE不要使用OpenGL来完成此任务。 OpenGL用于绘制数据,而不是跟踪它。如果你想摆脱某些对象,不要告诉OpenGL绘制它们。您可以使用各种空间分区数据结构来有效地查找交叉点。

  • 天真的方法是在绘制之前检查场景中的所有点都在该区域之外。

  • 更好的方法是使用 kd -tree或八叉树来指数缩小必须进行的比较次数。