我正致力于平板电脑的应用程序,它可以显示不同的3D模型。我目前的任务是找出用户是否在触摸屏幕时击中模型。我有X,Y触摸坐标,我有两个解决方案:
1)我使用OpenGL ES 2.0进行模型渲染,所以也许我可以创建额外的帧缓冲区,并在片段着色器中以每个像素深度颜色渲染它。我的意思是如果深度是MAX,我可以设置黑色的像素颜色,如果是零,我可以设置白色。然后我可以使用来自此帧缓冲区的数据来获取我的点深度并找出我需要的内容。
2)第二种解决方案是从触摸点运行光线,然后使用常见的光线 - 三角形交叉算法查看所有模型三角形。
我的问题是:有更快的解决方案吗? 谢谢。