首页 > 解决方案 > OpenGL选择区域

问题描述

在此处输入图像描述

我目前正在使用 LWJGL,但如果你有 OpenGL 的解决方案,我也可以使用它。

现在,我正在尝试将选择区域应用到可以用鼠标四处移动的平面上(就像我上面可怕的图画)。我正试图让它与飞机平齐,这样它就可以越过任何障碍物。我考虑过投影纹理,但我不知道如何实现它。这是解决问题的好方法还是有更好的选择?

  1. 实施选择区域的最佳方式是什么?
  2. 替代选择,优点和缺点。

编辑:如果这有所不同,这将在另一个纹理上移动。

标签: opengltextureslwjglprojection

解决方案


当您已经知道世界空间中的交点时,有一个相对简单的解决方案,不需要投影纹理:

在片段着色器中计算交点和当前片段之间的世界空间距离。当两者之间的距离小于所需的圆半径时,则应绘制选择颜色。否则只绘制法线平面。

float dist = length(current_ws - intersection_ws);

if (dist < circle_radius)
    //Draw overlay
else
    //Draw plane normal

推荐阅读