2012-01-17 12 views
0

私は、3Dキューブを画面の中央に表示するモデルビューアテンプレートを使用しています。私が達成しようとしているのは別のものですが、画面上に小さな3Dキューブがあり、メインとは異なるXY位置に配置されています。視覚的に、元の立方体が中央にある場合は、右に2番目の小さな立方体を配置したいと思います。Android:複数のオブジェクトを画面に追加する方法(OpenGL)

他のキューブを画面に追加し、小さくして位置を変更するにはどうすればよいですか? 注:私は基本テンプレートから作業しています。

答えて

1

異なるモデル変換行列を第2のオブジェクトに割り当てる。 固定パイプラインでレンダリングする場合は、glMulMatrixを呼び出すのと同じくらい簡単です。 シェーダでレンダリングする場合、適切なマトリックスを頂点シェーダに均一に渡します。

ここでは、このテーマに関するいくつかの基本的な読書です:

+0

@ Martin私はまだ問題があります。私はこのウェブサイトの例から作業しています:http://blog.shayanjaved.com/2011/03/13/shaders-android/ – SpicyWeenie

1

あなたがこれを行うには多くの方法があります。

  • キューブの頂点の座標を変更します(おそらく悪い考えです)。
  • scaleview操作とtranslate操作でmodelview行列を変更してから、キューブをもう一度描画します(おそらく良い考えです)。あなたは、変換の順序に注意を払わなければならないでしょう。
  • 逆変換とスケール操作でカメラマトリックスを修正し、再度キューブを描画します(それほど悪い考えではありませんが、畳み込まれていて少し直感的ではありません)。
  • ビューポートを変更...

(キューブは、その3Dの良さを示しているように)、その変換の順序が本当に重要である私はまた、あなたが回転関与していることを推測しています。

もう少し勉強したい場合は、法的にインターネット上で無料で入手できるOpenGLの赤い本を読んでください。最初の章ですべての質問に答えます。

関連する問題