質問: Android Lollipop に対応する実装を行っています。 KitKat までは異常無く動作するのですが、 Lollipop でアプリ起動時した場合にクラッシュしてしまいます。 Log を追ってみた所クラッシュは OpenGL 関数内 `glDrawArrays()` 呼び出しで起こっていました。 ``` glPushMatrix(); glLoadIdentity(); glVertexPointer(3, GL_FLOAT, 0, ver); glColorPointer(4, GL_FLOAT, 0, color); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); // crash glPopMatrix(); ``` を呼び出した時にクラッシュしています。KitKat までになかった WARNING です。 ``` WARNING: Couldn't find glCurrentPaletteMatrixOES in procAddrs table WARNING: Couldn't find glLoadPaletteFromModelViewMatrixOES in procAddrs table WARNING: Couldn't find glMatrixIndexPointerOES in procAddrs table WARNING: Couldn't find glWeightPointerOES in procAddrs table ``` 検索を行った所、他に全く例がありませんでした。 ご存知の方、解決方を教えて頂けないでしょうか。 よろしくお願いいたします。
回答: glDrawArraysが呼び出された時点で必要なパラメータが初期化されていない可能性があります。 Warningに記載してある関数が使われている場所の記載がないのでなんとも言えませんが、Matrix関係の値に不正な値が入っているような感じがします。 該当Extensionをデバイスが正式サポートしているかをもう一度確認したほうが良いと思います。 また各gl関数がエラーをセットしていないか確認するのも手がかりになると思います。