本の虫

著者:江添亮
ブログ: http://cpplover.blogspot.jp/
メール: boostcpp@gmail.com
Twitter: https://twitter.com/EzoeRyou
GitHub: https://github.com/EzoeRyou

アマゾンの江添のほしい物リストを著者に送るとブログ記事のネタになる

筆者にブログのネタになる品物を直接送りたい場合の宛先:
郵便番号:165-0027
住所:東京都中野区野方5-30-13 ヴィラアテネ401
宛名:江添亮

ValveがDota 2で使われているらしきDirect3D-OpenGL変換のライブラリを抜きだして公開

邪悪なDRM付きのゲーム流通プラットフォームと不自由なソフトウェア実装のゲームを蔓延させているValveが、Dota 2で使われているらしき、ライブラリレベルでDirect3DをOpenGLに変換するラッパーライブラリ、TOGLをGitHubで公開した。

ValveSoftware/ToGL

これは、Direct3D 9.0cのAPIでありながら、中身はOpenGLを使っているという、ラッパーライブラリ、あるいはソフトウェア互換レイヤーとでもいうべきライブラリだ。どうやら、Dota 2というゲームで使われているコードベースから、この部分だけ抜き出して公開したようだ。

DirectX 9.0cのすべての機能を実装しているわけではないという。HLSLバイトコードから、GLSLバイトコードへのトランスレーターを含む。Multiple Render Targetsはサポートしているが、Vertex Texture Fetchはサポートしていない。

また、このままではビルドすらできないし、また、Sourceエンジンの挙動に合わせるためにハードコードした部分もあるという

ところで、このようなライブラリには見覚えがある。そう。ANGLEだ。

angleproject - ANGLE: Almost Native Graphics Layer Engine - Google Project Hosting

ANGLEとは、不自由なMicrosoft Windows環境で、OpenGL ES 2.0環境をDirectX 9ないしはDirect X 11を使って実現するライブラリだ。つまり、TOGLの逆転版ということになる。

ANGLEは、ChromiumとFirefoxで、まともなOpenGL環境のない制限OSであるWindows環境で、WebGLを実装するために使われている。

DirectXはもはやその役目を終えたので、そろそろ終焉に向かって欲しい。