2013年10月31日木曜日

Androidアプリ開発:OpenGL ESの実装について気になること

AndroidのOpenGLサンプルをちょこちょこ動かしてみてて、ちょっと気になったことがでてきました。Androidアプリの動作確認にはNexus7(初代)を使っています。動きが早くて、デバッグも楽なんですよね。
ところが先週、Nexus7においてOpenGLの動きに独特な箇所があることがわかりました。(GoogleによるAndroid自体の問題なのか、Nexus7に使われているnVidia Tegra3におけるビデオドライバの問題なのかははっきりしませんが)さらに別の、もっと重傷な問題が見つかりました。それは影の描画にNexus7とその他(Galaxy S2)で差がでる場合がでました。

同じアプリをまずNexus7で動かしたものです。

どうみても影の描画が変です。(影が横縞になって、透けてしまってます。)ちなみに同じアプリをGalaxy S2で動かすと以下の様になります。
普通に影が描写されます。

なぜNexus7でこうなるのかまだわかってません。Nexus7のGPUオプションがいくつかあるので色々条件を変えてみましたが、影の描画の異常は変化ありませんでした。当初はGPUアクセラレーション独特な問題に見えたんですが、そうじゃないようです。もう少しプリミティブなOpenGLのプログラム(関数)の動きから比較してみないといけないかもしれません。

0 件のコメント:

コメントを投稿