2011-07-13 6 views
0

これは一般知識に関する非常に理論的な質問です。Android Open GL理論上の質問

私は持っていけないすべての

まず、これまでのオープンGLでの事についての理解の多くのでご容赦ください。:

  1. アンドロイドに3Dモデルをロードするための最良のアイデアをはい滝の.objファイルを使用しています?

  2. スケッチアップのサンプルモデル(一部のロボットモデルの部品が多い)をダウンロードしました.objファイルのサイズは3MBです。私はそれを文字列のベクトル(ほぼ100k行)にロードし、アプリケーションはRAM使用量が+ 15MBより重い!!だから、私はこの全体的な方法に少し心配しています。

  3. 私はモデルを読み込むときにそれを回転させて動かす簡単な方法があります。それはオープンGLの単一のオブジェクトのようなものでしょうか、あるいは何千もの縦型を行列で掛ける必要がありますか?

  4. 私の理解に追加する必要があるものはありますか?

答えて

0

私はあなたの質問のすべてに答えることはできませんが、:

3)はい。 AndroidフレームワークのonTouchEvent()機能を組み合わせて、OpenGLで動作させることができます。 OpenGLでは、単純なglRotate(angle)の呼び出し(あなたのためにすべてを回転させる)で簡単に回転させることができます。ここでは、指定された角度はタッチ操作に基づいて変化します。

EDIT ::

2)なぜ文字列にロードしていますか?モデルはよく分かりませんが、多くのファイルを解析します。できるだけ小さなサイズの変数にロードする必要があります。たとえば、ShortのArrayListなどです。私はあなたのデータを知らないが、それが最善の方法である。メモリの問題がある場合は、部分的に解析することを検討してください。

+0

しかし、回転する単体モデルはどうですか?すべてのデータを一度保管し、頂点全体をコピーせずに複数のオブジェクトをコピーすることはできますか? 1つの要素だけを回転できますか? 私はすべてをフロートにロードする必要があると思うし、おそらく私はモデルを減らす必要があります。実際には、それを文字列にロードして、どれくらいのスペースを取るかを確認します。 – Taks

+0

文字列は1文字あたりのバイト数です。したがって "1234.12345" = 10バイト、浮動小数点の場合は4バイトになります。私はあなたが何を意味するか分からない。私は今、オブジェクトを作成する点数のトンからなるOpenGL環境を見ており、フィールド全体を一緒に回転させることができます。頂点は一度だけ割り当てられ、環境はパースペクティブ、平行移動、回転などの他のものに従って描画されます。これらはすべて指定できます。最初にこれを研究する必要があります... – RedLeader

+0

私の開発ライフサイクルは、実際にトピックを掘り下げて、私がこの方法で行くことを決める前に、ほとんどの必要な可能性に関する小さな研究に基づいています。私は、私の全体の記憶、それが私がこれらの質問をした理由です。私はもう少し調べて、モデルを単純化して戻ってくる:)だから、誰かが.objのアイデアについて答えることができればそれは良いことなのだろうか?ありがとう! – Taks

関連する問題