检索给定矩形区域的遮挡面

时间:2018-11-16 05:07:02

标签: opengl

我正在尝试单击并拖动以选择模型的所有可见面(类似于Blender等3D建模软件中的面)。

最初,我正在考虑使用线相交找到场景中所有被遮挡的面:对于视口中的每个像素,将一条线描入场景并找到第一个相交。然后,被遮挡的面孔列表将是没有相交的面孔。但是经过实验后,我意识到这种方法非常慢。

我听说过另一种方法,类似于:

  1. 为每个图元分配唯一的颜色。
  2. 将所有这些投影到与视口重合的虚拟平面上
  3. 从投影的像素中,如果不存在与图元对应的颜色,则将其遮挡。

问题在于我不知道如何创建这样一个“虚拟”飞机,同时又不向最终用户透露它。有什么帮助或更好的主意来解决这个问题?

0 个答案:

没有答案