【问题标题】:how to identify the object touched the Android OpenGL ESAndroid OpenGL ES如何识别触摸的对象
【发布时间】:2011-07-28 15:07:04
【问题描述】:

问题很简单,如何在 OpenGL 中识别用户触摸了哪个对象。 我已经尝试了 utilizat envento onTouchEvent 但这只会返回 possição X、Y 屏幕。

【问题讨论】:

标签: android opengl-es touch


【解决方案1】:

在此线程中提出(并回答)了一个类似的问题: Detect user's touches over an OpenGL square

基本上有 2 种方法: 1 将所有对象以各种不同的颜色渲染到缓冲区,然后查看指定“拾取坐标”处的颜色信息以识别您的对象。 另一个(我认为资源密集度较低)是检索“射线”,然后使用您为当前呈现在屏幕上的所有对象提供的边界框进行命中测试。

编辑: 如果您正在以正交/二维方式进行渲染,那么这在某种程度上简化了事情。 您可以使用您触摸的点和为您绘制的图像提供的矩形(或者可能是圆形或多边形)进行简单的点击测试。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2017-01-21
    • 1970-01-01
    相关资源
    最近更新 更多