Open3

C-WebGL: AndroidのANGLE化で何が消えるのか問題

okuokuokuoku

Androidはベンダ提供のOpenGL ESドライバを使えないようにしてGoogle製のOpenGL ES実装であるANGLEに統一しようとしている:

OpenGL ES自体は継続提供されるが、ベンダが対応しなければならないのはVulkanだけということになる。じゃぁベンダ独自の機能だったものはどうなるの。。?

ANGLEのサポートする拡張一覧はANGLEのリポジトリにある https://github.com/google/angle/blob/main/doc/ExtensionSupport.md

okuokuokuoku

手元のPixel7 Proで比較

とりあえず Pixel7 ProにAndroid15が降ってきたので比較してみた。左がベンダのドライバで右がANGLE。

Android14時代にも存在したが殆どのアプリが正常に動作しなかった。Android15ではその辺がちゃんと修正されたようだ。

EDIT: いやPixel 7Proの入手直後に試してるな。。

https://zenn.dev/link/comments/7d16145a56c567

いやめっちゃ機能減るな。。増える機能は基本的に無い。EACテクスチャ圧縮くらいか。。?減るのは:

  • パレット化テクスチャ
  • GL_KHR_texture_compression_astc_hdr いやVulkanでは普通に使えるんだからサポートしろや!
  • GL_ARM_shader_framebuffer_fetch_depth_stencil 等、タイルメモリを使用する拡張。これは WebGL相当の GL_ANGLE_shader_pixel_local_storage が公開されるのでそちらに乗り換えるべきか。

ASTCでHDRテクスチャ使えないのは微妙に困らないか。。?

okuokuokuoku

Web3D survey

https://web3dsurvey.com/

... あらためて見てみると、WebGLで展開されているextension自体があんまり無いんだな。。なのでWebGL互換性を考えると、ANGLEの実装内容で制約されてもあんまり困らないというのはあるのかもしれない。