KotlinでOpenGLを使う方法


グラフィック描画ライブラリーであるOpenGLはAndroidアプリ開発でも利用することができます。

今回はその利用方法をまとめたいと思います。


AndroidのViewはxmlを記述するか、GUIでパーツを追加することで編集することができます

今回はプログラムからViewを作成します。

MainActivityを修正します。


onPauseやonResumeが実行されたとき使用したメモリに対して必要な処理を実行するため GLSurfaceViewのonPauseとonResumeを呼び出しています。
これはまじないみたいなものですかね。

さらにここではViewから GLSurfaceView のオブジェクトを取得し、そこにRenderを設定しています。

ここでいう Render とはGLSurfaceViewの内部で描画処理を担当してくれるようなものです。

新しくクラスを作成します。


これが Render です。
GLSurfaceView.Rendererを継承します。


メソッドが3つオーバーライドされています。
それぞれの実行されるタイミングです。

  • onSurfaceCreated
    GLSurfaceViewのためのメモリが確保された時
  • onSurfaceChanged
    GLSurfaceViewのサイズが変更された
  • onDrawFrame
    GLSurfaceViewが呼び続ける(描画を繰り返す)


たびたび出てくるGL10というのはopengl es へのインターフェースのようなものです。

先述したsetRendererにこのクラスのインスタンスを渡します。

これで準備が整いました。
実行してみましょう。

gl.glClearColorで指定した色で画面が塗りつぶされているはずです。


体系的にまとめることはできませんので、
ここでは四角形を表示するサンプルを作成します。


これを実行すると黒い四角形が表示されます。

ここではKotlin上でのOpenGLの簡単な使い方をまとめました。

OpenGL ESについては以下の参考書がお勧めです。
少し古くJavaで書かれていますが、参考になると思います。

初めてのOpenGL ES

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です