gpt4 book ai didi

opengl - 使用 glDrawElements 时在 OpenGL 核心配置文件中选取三角形

转载 作者:行者123 更新时间:2023-12-02 20:55:59 30 4
gpt4 key购买 nike

我正在使用 glDrawElements 绘制三角形网格,并且希望能够使用鼠标单击来拾取/选择三角形。三角形的网格可以很大。

在固定功能 OpenGL 中,可以使用 GL_SELECT: http://content.gpwiki.org/index.php/OpenGL:Tutorials:Picking..但是我只对使用 OpenGL 核心配置文件感兴趣。

另一种可能性是使用“颜色编码”:

http://www.lighthouse3d.com/opengl/picking/index.php?color1

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

..但据我所知,在使用 glDrawElements 时还不可能指示每个三角形信息?

最后,我可以通过通过鼠标位置发射拾取射线来进行基于 CPU 的拾取,但这会非常慢,因为我想我必须在 CPU 上变换三角形,所以我更喜欢基于 GPU 的解决方案。

有人对在 OpenGL 核心配置文件中使用 glDrawElements 时进行拾取的最佳方式有什么建议吗?

最佳答案

关于“颜色编码”方法,您可以使用gl_PrimitiveID使用适当的片段着色器填充颜色编码缓冲区,这基本上会给您所绘制三角形的索引。

关于基于CPU的拾取,您可以使用现有的库来处理加速结构和光线网格交集,例如BulletOpcode .

最适合您的选择取决于您的用例,很难说。

关于opengl - 使用 glDrawElements 时在 OpenGL 核心配置文件中选取三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9079361/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com