2011-07-13 91 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