芸軌社株式会社
RSS 2.0

芸軌社公式ブログ

2013年3月14日(木)11:01(+0900)

NativeActivityでOpenGL ES 2.0

このエントリーをはてなブックマークに追加

先日、何となく「nativeactivity opengl es 2.0」あたりでググってみたところ、以下のサイト様でAndroidのNativeActivityからOpenGL ES 2.0が使えるらしいということが分かりました。

手元にある「Android NDKネイティブプログラミング」の初版本によれば、Android NDK r5の時点ではEGLの関係でNativeActivityとOpenGL ES 2.0は組み合わせて使えず、Java+JNIにする必要があったようですが、上記のサイト様を参考に実際に試してみたところ、無事にコンパイル&ビルドでき、手持ちの実機(Android 2.3.3)でもちゃんと表示されました。

また、先日の記事のとおり、以前はエミュレータ(AVD)上ではOpenGL ES 2.0は動かせなかったようですが、現在はAndroid 4.0.3以上を用いて設定(Android Virtual Device ManagerのEdit)で「Use Host GPU」にチェックを入れることにより、AVD上でOpenGL ES 2.0を動かせます。

今までに、OpenGL ES 1.1についてはNativeActivityでもPC版ネイティヴ(Linux/Windows)でも使える形でのコードを書いていたものの、Java+JNIとPC版ネイティヴ共用のコード作成は(現時点でOpenGL ES 2.0をまだほとんど使ってないということもあり)うまくいっていませんでした。しかし、今後はどうやらJava+JNIは使わなくて済みそうです。楽になったような、Java+JNI+OpenGL ESのテクニックを身につける機会を失いそうなような。。。

ところで、Android NDKではいつからNativeActivityでOpenGL ES 2.0が使えるようになったのでしょうか? 実際に試すのもそっちのけてググったりして調べてみたものの、イマイチ分かりませんでした。

固定リンク

2013年3月14日(木)

プログラミング,OpenGL,Android