Android 正方形在二维平面上的投影(OpenGL ES2)

Android 正方形在二维平面上的投影(OpenGL ES2),android,graphics,matrix,opengl-es-2.0,Android,Graphics,Matrix,Opengl Es 2.0,我正在为android创建coverflow视图,但在处理视图上的点击时遇到了一点障碍。我很难确定哪个方块在点击下方。为了确定单击哪个正方形,将获取单击事件中的(X,Y)数据并将其转换为opengl视图空间。将其放置在正方形上时会出现问题:转置、旋转和比较都可以在java中完成,但这似乎是一种巨大的浪费,因为所有这些操作都是在渲染视图时完成的 因此,我的问题是:如何在opengl渲染过程中提取2d视图映射的对象坐标? 为了弄清楚opengl的模型和投影矩阵中到底是什么,我的大脑有点扭曲,而我似乎

我正在为android创建coverflow视图,但在处理视图上的点击时遇到了一点障碍。我很难确定哪个方块在点击下方。为了确定单击哪个正方形,将获取单击事件中的(X,Y)数据并将其转换为opengl视图空间。将其放置在正方形上时会出现问题:转置、旋转和比较都可以在java中完成,但这似乎是一种巨大的浪费,因为所有这些操作都是在渲染视图时完成的

因此,我的问题是:如何在opengl渲染过程中提取2d视图映射的对象坐标?

为了弄清楚opengl的模型和投影矩阵中到底是什么,我的大脑有点扭曲,而我似乎找不到矩阵中数字的具体含义


谢谢

您可以使用
glunproject()
glunproject()
在对象和窗口空间之间进行转换,并保存一些数学知识。文档是和。

您可以使用
glunproject()
glunproject()
在对象和窗口空间之间进行转换,并节省一些计算时间。文档是和。

还有一种技术涉及渲染一个帧,其中场景中的所有基本体都以不同的颜色渲染。然后可以在触摸事件下测试像素颜色。使用此技术可以使用一些技巧,例如缩小视口,使其仅为触摸周围的一个小区域,并将其渲染为纹理,以便用户永远看不到它。

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

OpenGL ES是否提供了
glu
?不管怎样,android似乎都不符合这一点,至少在java方面是如此。NDK,也许不是:OpenGL ES是否提供glu?不管怎样,android似乎都不符合这一点,至少在java方面是如此。NDK,也许不是:好吧,该死,从没想过。非常方便。是的,这是我从一些老同学那里学到的一个巧妙的技巧!妈的,我从没想过。非常方便。是的,这是我从一些老同学那里学到的一个巧妙的技巧!当前如何构造变换矩阵?使用库?当前如何构造变换矩阵?使用图书馆?