今回は各種設定、描画の開始終了宣言を実装します。
とりあえず設定メソッドを実装します。
これはきっと解説不要ですね。
Colorクラスについてはこちらを参照してください。
スクリーンモードはtrueで仮想描画領域座標の座標位置指定に、
falseでSetLookPos()を考慮した位置指定になります。
// 見ている位置設定 public void SetLookPos( PointF lookPos ) { m_CameraModeOffset.x = -lookPos.x + DrawDevice.DRAW_WIDTH * 0.5f; m_CameraModeOffset.y = lookPos.y + DrawDevice.DRAW_HEIGHT * 0.5f; } // スケールカラー設定 public void SetScaleColor( Color color ) { m_ScaleColor.set( color ); } // スクリーンモード設定 public void SetScreenMode( boolean bScreenMode ) { m_bScreenMode = bScreenMode; }
次は開始、終了宣言です。
// 描画開始 public void Begin() { GL10 gl = m_DrawDevice.GetGl(); // テクスチャ有効化 gl.glActiveTexture( GL10.GL_TEXTURE0 ); // カメラ座標設定 GLU.gluLookAt( gl, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f ); // 頂点情報有効化 gl.glEnableClientState( GL10.GL_VERTEX_ARRAY ); gl.glEnableClientState( GL10.GL_COLOR_ARRAY ); // デフォルトはスクリーンモード SetScreenMode( true ); } // 描画終了 public void End() { }
終了メソッドは特に何もする必要はありません。
開始メソッドはコメントの通りのことをやっています。
カメラ座標はSetLookPos()で設定した値とは関係なく3D空間上での座標になります。
カメラの座標はgluLookAtで設定します。
今回は2D限定なので(0,0,1)から(0,0,0)を見るように、上方向は(0,1,0)の設定です。
もう三次元なんていらない!
俺は二次元で生きていくんだ!!
次はいよいよ本丸である描画メソッドを実装します!