Android和openGL es如何判断对象何时在摄像机视图中

时间:2012-03-06 02:39:12

标签: android view opengl-es

我有一个应用程序,我使用min3d在opengl中为我设置场景和摄像机视图,我能够实现raypicking但是因为我在场景中有超过120个或更多的可点击对象,屏幕点击有时会是关闭一点,一个不在屏幕上的对象可能会获得点击,因为它只是在镜头外。

我想要做的是获取我在场景中的对象的arraylist,并且在每次调用updateScene方法时,我想检查一个布尔值,以查看该对象是否在摄像机视图中。这将允许我删除或添加对象到另一个arraylist,当我在屏幕触摸上调用我的raypicking方法时,我会迭代。

缺少的部分是如何跟踪屏幕上的对象。我知道我已经有了数学习得到这样的东西我只是有点困惑如何以正确的方式在屏幕上获取对象。任何帮助都是极好的。它会与截头体内的跟踪有关吗?

1 个答案:

答案 0 :(得分:1)

你所寻找的东西我相信通常被称为'视锥细胞剔除'。基本上你在你的对象周围包裹一个简单的边界框/球体/圆柱体等,然后在平截头体的每个平面上测试这个简单的几何形状,看它是否完全在盒子外面。

本教程可以帮助您:

http://www.lighthouse3d.com/tutorials/view-frustum-culling/