gpt4 book ai didi

android - 使用 OpenGL ES 2.0 坐标拾取

转载 作者:太空狗 更新时间:2023-10-29 13:33:00 27 4
gpt4 key购买 nike

我尝试使用 OpenGL ES 2.0 实现坐标拾取功能。我无法实现我在桌面版本中实现的两个版本。

版本 1 是用唯一的颜色渲染每个三角形,代表三角形的索引,然后用光线转换计算坐标。这个版本不起作用,因为在 OpenGL ES GLSL 版本 1.0 中没有变量 GL_PrimitiveID,也不可能进行位移。

版本 2 是将坐标渲染为浮点纹理的值,但浮点纹理在 OpenGL ES 2.0 中不可用。

有人知道我可以实现什么吗?我不想对每个三角形进行光线转换,因为它的性能不佳。

感谢您的帮助和任何想法。

最佳答案

另一种实现坐标拾取的方法是物体的光线拾取。它被认为是从 2D 屏幕坐标中拾取 3D 对象的最佳方法。您不必使用对象的独特颜色渲染场景并选择颜色来确定交叉点。

我已经在这个很棒的教程的帮助下实现了 3D 对象的拾取: http://android-raypick.blogspot.com/2012/04/first-i-want-to-state-this-is-my-first.html

在对算法进行一些优化后(我在博文中发表了评论),性能对我来说不是问题。为了测试性能,我选择了一个包含 3000 多个三角形的 3D 模型,而且速度很快。在实际情况下,对于碰撞检测,您可以使用具有非常简化的几何形状的模型。

关于android - 使用 OpenGL ES 2.0 坐标拾取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13507702/

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