jogl采摘示例

时间:2010-12-19 23:48:26

标签: jogl picking

嗨,伙计们 我在JOGL项目中添加选择对象时遇到麻烦。 我知道这可以用pick buffer来完成..但我找不到例子 任何人吗?

1 个答案:

答案 0 :(得分:3)

一般情况下,正如您可能知道的那样,JOGL代码直接转换为您可能在网络上看到的任何其他OpenGL示例。

这些天来,基于GL_SELECT的挑选似乎非常不受欢迎;在规范中弃用,驱动程序执行不当。

您可以使用的替代方案是:

  • 使用唯一颜色渲染每个对象(并禁用所有光照/雾化等),以便通过glReadPixels确定鼠标所在的对象。 (在拾取阶段后清除缓冲区,以便您可以渲染正常图形)。例如,OpenGL GL_SELECT or manual collision detection?中评分最高的答案解释了这种方法。

  • 光线投射到几何体中(请参阅下面的选择常见问题解答链接)。这也意味着您不必在调用代码的线程中有一个活动的gl上下文,fwiw。

我在同一个应用程序中使用了这两种方法,目前在后者中有很好的效果,但由于该应用程序中的大多数对象都是球体,因此它比任意模型的便宜得多。

http://www.opengl.org/resources/faq/technical/selection.htm