つい先日にOpenGL 4.3とOpenGL ES 3.0の仕様が公開となりました。
ES3の仕様書はこちら
http://www.khronos.org/registry/gles/specs/3.0/es_spec_3.0.0.pdf
ざっとES3について目を通してみたところ、DirectX9からDirectX10へ切り替わったときのような印象を受けました。それは、テクスチャ配列やtransform feedback, 定数バッファなどのDX10の機能が入ってきたからだと思います。transform feedbackがあるもののジオメトリシェーダーは使えないようです。そういえばどのくらい実用になるかはわかりませんが、Multi Render Targetの機能もサポートだそうです。これでスマホなどの組み込み系であっても、ディファードシェーディングによる方法が使えてくるようになるのかもと思います。普及するのは来年になるのかな。
GL4.3やES3.0で気になるポイントの1つに、テクスチャ形式が増えている点にあります。
新しいテクスチャ圧縮形式 Adaptive Scalable Texture Compression(ASTC) と呼ばれるものが入ってきているようです。また、ようやくといえるのかもしれませんが、ETC2形式についても標準サポートとなっているようです。ETC形式にはアルファ情報が入らず、一部の機種で泣かされましたが、ETC2があれはそれも解決になるのかなと思います。
ところで、ASTCはETC2の一部という感じなんだろうか・・・。ASTCは単純に圧縮技術の名称なだけで、格納しているのはETC2とかそんな感じ? ちょっとこのあたりがまだよくわからない。
そういえばARM社からはMali-600シリーズが出ているようで、これがES3.0をサポートしているようです。これに合わせて、開発ツールも公開されている模様。
これをつかうと、OpenGL ES 3.0エミュレータが入っているようなので、開発自体は今からでも始められる感じです。また、OpenGL 4.3のサブセットとしてES3.0らしいので、4.3でES compatibility拡張を使ってデスクトップで開発を進めるというのもありなのかも。
OpenGLに新しいナンバーが出てきたこともあって、またグラフィックスAPI周りは盛り上がっていくような感じがして楽しみです。