我找到了这篇文章,有点回答我的问题,但不完全:
我要解决的问题:执行顶点选择的现代方式(使用 OpenGL 4 架构):
- 用户画了一个选择(橡皮筋,这不是我想要的)
- 我假设在这个阶段我可以为模型中的每个顶点提供某种唯一 ID
- 所选区域以某种方式重新渲染,离线使用某种顶点/片段着色器,将顶点存储在我可以读回的缓冲区中?
我只是猜测它涉及某种缓冲区,着色器可以在其中写入渲染顶点的结果,该缓冲区在程序中是可读的。我想知道是否有人已经这样做了,或者至少可以让我朝着正确的方向前进。它需要(理想情况下)快速(在非常大的模型上工作),并使用 OpenGL4(没有不推荐使用的功能,如 GL_SELECT 等)。
- 理想情况下,我还需要使用相同的技术来选择其他组件,例如边和面。