2012-07-02 56 views
0

我正在为android创建封面流视图,但处理点击视图时遇到了一些障碍。我无法确定点击下方的广场。为了确定哪个方块被点击,来自click事件的(X,Y)数据被获取并转换成opengl视图空间。麻烦来放置这一个正方形时:换位,旋转和比较都可以用Java来完成,但是这似乎是一个巨大的浪费,因为渲染视图所有这些操作都正在做。在2D平面上投影正方形(OpenGL ES2)

所以,我的问题是:我怎样才能提取的OpenGL在2D视图映射对象坐标渲染过程?

我已经让我的大脑有点扭曲,试图找出opengl的模型和投影矩阵实际上是什么,而且我似乎无法找到任何有关矩阵实际数字的规范意思是

谢谢!

+0

你如何构建当前的变换矩阵?使用库? – rotoglup

回答

2

您可以使用gluUnProject()gluProject()的对象和窗口空间之间进行转换,并保存自己一些数学。文档是herehere

+0

OpenGL ES提供'glu'吗?不按http://stackoverflow.com/questions/7589563/can-i-use-glu-with-android-ndk – rotoglup

+0

好吧,不管怎样,Android为,至少对Java似乎。 NDK,也许不是:http://developer.android.com/reference/android/opengl/GLU.html – Geobits

1

还有一种技术涉及渲染一个帧,其中场景中的所有图元都以不同的颜色呈现。然后,您可以在触摸事件下测试像素颜色。有一些技巧你可以用这种技术来玩,比如缩小视口,使它只是触摸周围的一个小区域,并将其渲染为纹理,以便用户永远不会看到它。

+0

那么该死的,从来没有想到这一点。非常便利。 – Geobits

+0

是的,我从一些老学校的老师那里学到了一个很好的技巧! – CaseyB