2011-07-13 64 views
0

这是关于常识的非常理论性的问题。Android Open GL理论问题

所有我没有首先迄今为止很多关于在Open GL的事物的认识,所以请原谅我:

  1. 到三维模型加载到Android的最好的办法是用瀑布的obj文件是?

  2. 我下载了sketchup的示例模型(一些机器人模型有很多部分)和.obj文件的大小为3mb。我将它加载到字符串向量中(几乎100k行),应用程序的内存使用率为+ 15mb。所以我有点担心这个整个方法..和方法?

  3. 当我加载模型时,有一个简单的方法来旋转它并移动。它会像开放GL中的单个对象吗?还是我需要将所有数千个垂直矩阵乘以矩阵?

  4. 还有什么我应该加上我的理解。

回答

0

我不能回答你所有的问题,但是:

3)是的。您可以结合Android框架的onTouchEvent()功能来使用OpenGL。在OpenGL中,您可以使用简单的glRotate(angle)调用(它将为您旋转所有内容)非常容易地旋转事物,其中提供的角度根据您的触摸交互而变化。

编辑::

2)你为什么把它加载到字符串?我不太了解模型,但我解析了许多文件。您应该加载到最小的变量中。例如一个ArrayList的短裤,或者其他东西。我不知道你的数据,但这是最好的方法。如果存在内存问题,请考虑分解。

+0

但是如何旋转单个模型?我可以保留所有数据一次并制作多份对象而不需要复制整个垂直对象吗?我可以只旋转一个元素吗? 我认为这一切都需要加载到浮动..也许我需要减少模型。实际上,我将它加载到字符串中,以查看它需要多少空间。 – Taks

+0

字符串是每个字符的字节。所以“1234.12345”= 10字节,如果它是一个浮点数,它将是4字节。我不确定你是什么意思。我现在正在看一个OpenGL环境,该环境由大量创建对象的点组成,我可以将整个域一起旋转。您只分配一次顶点,根据其他事物(如透视图,平移和旋转等)绘制环境,您可以指定所有这些。你应该首先研究这个... – RedLeader

+0

我的开发生命周期是基于对最必要的可能性的小研究,然后才开始深入研究主题,并决定以这种方式去做..我有点害怕把一个模型吃掉我的整个记忆,这就是为什么我问这些问题。我会多研究一下,简化模型并回来:)所以,如果有人可以回答.obj的想法是好的吗?谢谢! – Taks