Android OpenGL单独移动形状

Android OpenGL单独移动形状,android,opengl-es,Android,Opengl Es,我是OpenGL新手,我想向你们寻求帮助,甚至是代码示例。我浏览了很多页面,但似乎我太新鲜了,找不到合适的答案或提出有效的问题 我的用例是:创建3个三角形,允许用户用手指在屏幕上的不同位置移动它们,比如拖放 在渲染器中,我保留三角形对象: public class MyGLRenderer implements GLSurfaceView.Renderer { ArrayList<MyTriangle> myObjectsOnSurface_; } 一种方法是维护每个三角形

我是OpenGL新手,我想向你们寻求帮助,甚至是代码示例。我浏览了很多页面,但似乎我太新鲜了,找不到合适的答案或提出有效的问题

我的用例是:创建3个三角形,允许用户用手指在屏幕上的不同位置移动它们,比如拖放

在渲染器中,我保留三角形对象:

public class MyGLRenderer implements GLSurfaceView.Renderer
{
    ArrayList<MyTriangle> myObjectsOnSurface_;
}

一种方法是维护每个三角形的中心点x、y的数据结构,然后在触摸事件上确定是否有任何中心点靠近触摸点。仅当从触摸x,y到其中心点x,y的欧几里德距离可接受时,才移动三角形。二维距离==sqrtx1-x2^2+y1-y2^2。这个过程超出了OpenGL调用的范围,所以滚动您自己的解决方案听起来是合理的

public class MyGLSurfaceView extends GLSurfaceView {
    @Override
    public boolean onTouchEvent(final MotionEvent evt) {
        float currentX = evt.getX();
        float currentY = evt.getY();

        ....
    }
}