08/09 02:46 (@gorry5) やっとGalaxy TAB/NexusでのOpenGL不具合を特定。glStencilFunc()でGL_EQUAL(とGL_NEVER)以外を指定すると、glColorMask()によるカラーバッファ書き込みマスクが無効になるケースがある模様
08/09 02:50 (
@gorry5) カラーバッファ書き込みマスクが無効になるということは、ステンシルバッファを作成している最中にカラーバッファにも書いちゃって、マスキングの意味がなくなる :D
08/09 02:57 (
@gorry5) 対策:カラーマスクが失敗しているときもデプスによるマスクは生きているので、glDepthFunc(GL_NEVER)で「常に失敗するデプスマスク」を併用することで回避する
08/09 03:21 (
@gorry5) 常にデプスによるマスクだけでもいいのだけど、そのためだけにデプスバッファを確保するのはもったいないとかめんどくさいとか、そういう向きにはカラーマスクも併用しちゃうのが楽、と
08/09 12:32 (
@gorry5) 昨晩のGalaxy TAB/NexusのOpenGLの話、NoteはGPUが違う(TAB/Nexusは PowerVR SGX系、NoteはMali-400系)から発生しないのかな…
08/09 14:21 (
@gorry5) Android OS 2.3から使える機能はいろいろあるのだけど、2.3はAPI Level 9(2.3.2まで)と10(2.3.3以降)の2つがあって、今はLevel9を選択できないという
08/09 14:23 (
@gorry5) 某所で「2.3対象なのにXperia PLAYにインストールできないアプリがある」という質問があって、PLAYはOSアップデート前は確か2.3.2でLevel10のアプリは蹴られるのよね…(苦笑