その他のメソッド

その他のメソッド




初期化以外のメソッドです。
短いのでまとめて実装します。

    //  描画サイズ更新
    public void UpdateDrawArea( GL10 gl, int width, int height, int statusBarHeight )
    {
        m_Sprite.UpdateScreenMatrix( gl, width, height, statusBarHeight );
    }

    //  描画開始
    public void Begin( GL10 gl )
    {
        //  クリア
        gl.glClear( GL10.GL_COLOR_BUFFER_BIT );

        m_Gl    = gl;

        m_Sprite.Begin();
    }

    //  描画終了
    public void End()
    {
        m_Sprite.End();

        m_Gl    = null;
    }

    //  アルファブレンド設定
    public void SetAlphaMode_Normal()   { m_Gl.glBlendFunc( GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA );   }
    public void SetAlphaMode_Add()      { m_Gl.glBlendFunc( GL10.GL_SRC_ALPHA, GL10.GL_ONE );                   }
    public void SetAlphaMode_Mul()      { m_Gl.glBlendFunc( GL10.GL_ZERO, GL10.GL_SRC_COLOR );                  }

    //  いろいろ取得
    public Sprite   GetSprite() { return m_Sprite;  }
    public GL10 GetGl()         { return m_Gl;      }

UpdateDrawArea()は描画領域を変更するタイミングで呼び出します。
中身はSpriteクラスを叩いているだけです。

Begin()は画面のクリアを行いGL10のインスタンスを保持します。
その後、SpriteクラスのBegin()を呼び出していだけです。

End()はSpriteクラスのEnd()を呼び出してGL10のインスタンスを開放しています。

アルファブレンド設定は主なブレンド式を使うようになってます。
SetAlphaMode_Normal()
通常のアルファブレンドです。
SetAlphaMode_Add()
加算合成です。
光の表現などで使います。
SetAlphaMode_Mul()
乗算合成です。
こちらは主に影で使います。

取得系は説明不要ですね。

これでOpenGLを使った描画が簡単にできるようになります。



<前のページ