私はアンドロイドのためのOpenGL ESを学んでいますが、私はちょっと混乱しています。私は、オブジェクトの描画を見てきた例ではレンダラークラスの外にオブジェクトを描画する例はありますか?
、VIAのは、正方形がレンダラで行われるとしましょう:これは素晴らしいとすべてですが、これを行うための私の全体のポイントは、にある
public class MainRender implements GLSurfaceView.Renderer {
private Square square; // the square
private Context context;
/** Constructor to set the handed over context */
public MainRender(Context context) {
this.context = context;
// initialise the square
this.square = new Square();
}
@Override
public void onDrawFrame(GL10 gl) {
// clear Screen and Depth Buffer
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
square.draw(gl);
}
ほとんどのロジックをレンダリングプロセスと区別します。
レンダラークラス内でSquareインスタンスをインスタンス化するのは難しいです。 スレッド間でやりとりする安全な方法は、queueEvent()を使用することですが、レンダラーの既存のクラスを変更、回転、または変換するキューイベントのみを見てきましたが、私は理解できません私自身、別のスレッドでインスタンス化されたものを描画する方法(結局、ハッシュマップを使って動的に最適化するのが理想的ですが)を行う方法の例が必要です。
-Thanks