Java 实现套索选择

Java 实现套索选择,java,opengl,jogl,Java,Opengl,Jogl,以下是我们今天的内容: *三维点的NxM网格 *我们使用传统的opengl调用绘制这些图形。 *我们有一个橡皮键选择和单点选择,使用选择缓冲区 今天,我们可以使用CTRL键选择要选择的部分,直到得到所需的选择。但是,如果你有一个200x500的网格,并且想要选择一个圆形、星形或任何不是矩形的东西,这会变得非常烦人 我试图找到关于如何创建套索选择的任何信息,有些人对每个对象使用唯一的颜色,然后使用readpixel查看选择了什么。我们不能使用此选项,因为我们所有的点都需要相同的颜色。Lightho

以下是我们今天的内容:
*三维点的NxM网格
*我们使用传统的opengl调用绘制这些图形。
*我们有一个橡皮键选择和单点选择,使用选择缓冲区

今天,我们可以使用CTRL键选择要选择的部分,直到得到所需的选择。但是,如果你有一个200x500的网格,并且想要选择一个圆形、星形或任何不是矩形的东西,这会变得非常烦人


我试图找到关于如何创建套索选择的任何信息,有些人对每个对象使用唯一的颜色,然后使用readpixel查看选择了什么。我们不能使用此选项,因为我们所有的点都需要相同的颜色。

Lighthouse 3D.com上有一个关于颜色拾取的非常好的插图教程:


它相当快&我已经在有数百万个多边形的应用程序中实现了这项技术。由于只检查光标(或套索区域)下的内容,因此比边界框快得多。此外,它还与OpenGL ES兼容,因为反馈缓冲区选择即将退出。

有些人对每个对象使用唯一的颜色,然后使用readpixel查看选择的内容。我们不能使用此选项,因为我们所有的点都必须是相同的颜色。
在进行选择时,您只需要对一帧进行此操作,就可以将其画出屏幕外,这样参数就不会出现。您可以在画套索时将唯一的颜色画出屏幕外吗?正确的做法是什么?在这个问题上还没有找到任何适当的帮助。我想每四/五帧在屏幕外画一次,看看是否用鼠标选择了一个新的点?谢谢你的回答:)我从教程中没有得到一件事:如何在渲染前缓冲区和后缓冲区之间切换?有可能同时渲染它们吗?我在考虑现场直播。用户按住CTRL键,鼠标指针与一个点相交时选择它。我刚刚发现如何区分前缓冲区和后缓冲区,多亏了你的链接,我现在有了一个工作独特的颜色选择。非常感谢:)