ページ

2011年12月7日水曜日

ANGLEがOpenGL ES 2.0にフル対応

最近気になったニュースに、ANGLEがOpenGL ES 2.0にフル対応したというのがあります。いきなりANGLEなんて言われても、なんの事やら判らないと思いますが:-P ANGLEというのは「Almost Native Graphics Layer Engine (ANGLE)」の事で、一言で言えばWindows環境(Direct3D)でOpenGL ES用アプリケーションを実行させる為の互換層(ソフトウェア)と言った感じでしょうか? 偉そうに書いていますが本人も正確には把握しておりません:-(

詳しくはOpenGL ES 2.0のサブセットであるWebGLに対応した互換層ですね。ちなみにWebGLというのは、名前から判るように主にウェブブラウザーで使用する為の技術です。このANGLEプロジェクトを主導しているのはGoogleです。当然Chrome/Chromiumへの組み込みが第一目標ですね。とは言っても、そこはGoogle。独り善がりの抱え込みにはせずにANGLE自体を「BSDライセンス」で公開していますので他のウェブブラウザーも理論上は実装可能な訳です。実際に取り込むかはまた別の話な訳ですが:-P

今回の発表によるとサブセットであるWebGLはもとより上位規格であるOpenGL ES 2.0の互換実装であると認定されたみたいですね。素晴らしい。あくまで素人の妄想ですが理論上はウェブブラウザーに留まらず通常のゲーム用の互換層としても機能する「可能性」はあるのかも? 語弊があるかもしれませんがLinuxでDirect3D向けゲームを動かす事が出来る「Wine」の逆バージョンと見て良いのかもしれませんね:-P ANGLEの場合、互換出来るのはOpenGLではなくそのサブセットである「ES」の方ですけど。

実はこの話は以前取り上げたことあります。詳しくは後述の内部リンクを参照して下さい。結論からいうと基本的にはWineと同じ技術みたいなんですよね。といっても何か確証がある訳ではないのですけど。このANGLEプロジェクトでGoogle以外の協力者として「TransGaming」というMacやLinuxでWindowsゲームを動かす為のアプリケーションを制作している会社があり、その会社の製品が元々はWineの技術みたいなんですよね。

少し話がややこしくてTransGaming社が制作している互換ソフトウェアは「Cedega」という名前で、以前は「WineX」と呼ばれていたシロモノ。名前からも判る通り素のWineよりDirectX向けの最適化を施したモノらしいです。でも調べてみるとWINEのライセンスは「LGPL」でANGLEは「BSDL」なのでライセンス的に矛盾が生じてしまいます。BSDL→LGPLは可能でも、LGPL→BSDLは不可能(多分)ですからね。

調べてみるとWINEは元々「MITライセンス」という比較的緩いライセンスだったのですが2002年にLGPLにライセンスが変更されたみたいです。原因はよく判りませんがWINEを使用したプロプライエタリソフトとの軋轢でしょうかね。コードをupstreamに還元しないとか:-(

このCedega(WineX)というのは、その分岐前のWINEのコードを元にTransGamingがプロプライエタリソフトとして独自に改良してきた互換ソフトウェアみたいです。ちなみに本家のWINEでも似たような互換ソフトウェアを開発しています。そちらは「CodeWeavers」社の「CrossOver」シリーズという名前で販売されているようです。

そのうちゲームに特化したバージョンは「CrossOver Games」と呼ばれるモノですね。Cedegaと違ってCrossOverは商用ソフトでありながら、その改良点をWINEのupstreamにも還元している、どころかWINEの主要開発者がCodeWeaversの社員だったりするらしいのである意味理想的な関係ではあるようです。

話は戻ってANGLEですがそういった経緯があってBSDLでの配布が可能みたいです。オープンソース愛好家としては、正直プロプライエタリなCedega由来の技術よりも本家WINE由来のCrossOver Gamesの方が心情的には応援したいのですが、結果としてオープンソースとして公開されている訳でそう文句がある訳ではない? のかな……。上でも書きましたがBSDL→LGPLへの還元は可能な訳ですし:-P

ここまで書いてきて言うのもなんですがANGLEで使用されている技術がCedega由来なのかの物的証拠は何もありません。単にプロジェクトの協力者にTransGaming社のメンバーが含まれているだけかも知れませんし。今はANGLEがOpenGL ES 2.0の互換層としてある一定のお墨付きが出たという事実を素直に喜びましょう:-)

これからゲーム作る人は敢えてOpenGL ES 2.0で作ってみるのも良いかもしれませんね。Windows以外でも使える「可能性」は、高まるでしょうし。まぁWindowsだけで十分なら不要な手間でしょうけど:-P

#外部リンク
Chromium Blog: OpenGL ES 2.0 Certification for ANGLE
http://blog.chromium.org/2011/11/opengl-es-20-certification-for-angle.html

Chrome、ANGLEがOpenGL ES 2.0にフル対応 - WindowsのWebGL環境を強化 | エンタープライズ | マイナビニュース
http://news.mynavi.jp/news/2011/12/01/013/index.html

Googleが「ANGLE」プロジェクト、Windows向けにWebGL互換レイヤ | パソコン | マイナビニュース
http://news.mynavi.jp/news/2010/03/19/034/index.html

angleproject - Project Hosting on Google Code
http://code.google.com/p/angleproject/

WineHQ - Run Windows applications on Linux, BSD, Solaris and Mac OS X
http://www.winehq.org/

Wine license change
http://www.winehq.org/pipermail/wine-devel/2002-February/003912.html

CrossOver: Windows games emulator for Mac and Linux computers - CodeWeavers
http://www.codeweavers.com/products/cxgames/

TransGaming Inc.
http://transgaming.com/

WebGL - Wikipedia
http://ja.wikipedia.org/wiki/WebGL

Wine (software) - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Wine_%28software%29

CrossOver - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/CrossOver

Cedega (software) - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Cedega_%28software%29

#内部リンク
BLOG.MINAWA.NET: Almost Native Graphics Layer Engine(ANGLE)
http://blog.minawa.net/2010/03/almost-native-graphics-layer_7485.html

0 件のコメント:

コメントを投稿