DirectX 10アプリをWindows XPで動作させるAlky Projectとは?
Falling Leaf Systemsが開発しているAlky Projectは,DirectX 10対応のアプリケーションをWindows XP上で動作させようという試みである。 この会社,LinuxやMacintoshでDirectX対応のゲームを動かすツールを制作するのが本業らしいのだが,今回のAlky Projectによって一躍注目を浴びている。
http://alkyproject.blogspot.com/
基本的に,DirectX 10は,Windows Vistaでしか動作しない。ジオメトリシェーダや統合型のシェーダが問題というよりは,それまでのDirectXとは,ドライバの根っこの部分から異なったシステムになっているのが最大の問題である。機能的な部分についていえば,とくにOSの種類に依存するようなものではない。 Windows XPでDirectX 10アプリを動作させるには,二つやり方が考えられる。まず,独自にDirectX 10と互換性のあるライブラリを一から作成するというもので,公開された仕様から同等の機能を組み込んでいく方法だ。 もう一つは,既存のDirectX 10のDLLをそのまま使う方法である。ドライバ依存の部分と,その周辺を合わせてやれば,残りの部分は,既存のDirextX9やDirectX 10のモジュールをそのままで動かしてやることは不可能ではないだろう。
上が配布されているPre-Alpha版のファイル,下はそれと対応するDirectX 10のファイル
|
Alky Projectはどうだろうか? 今回のプログラムを見る限り,もともとのモジュールとはファイルサイズが大きく違っており,互換品を一から作っているか,リバースエンジニアリングで部分的に組み入れていると思われる。 Alky ProjectのPre-Alpha版は公開されており,環境が揃う人なら動作を試してみることも可能である(もちろん,自己責任で)。 動作が保証(?)されているものとして,DirectX 10 SDKのDirectX 10サンプル群のうち,Tutorial12というものが指定されている。このプログラムは,DX10SDK内に実行ファイルが入っていないので,ソースプロジェクトからビルドしてやる必要がある。ビルドにはVisual C++ 2003または2005が必要である。無料で公開されているVisual C++ 2005 Expressではビルドできなかった。 DirectX 10に対応していないグラフィックスカードでも,Tutorial12の実行は可能であるが,本来このサンプルが示すであろう挙動は再現できなかった。ピクセルシェーダのサンプルなのだが,ピクセルシェーダが効いているようには思えない。試しに,DirectX 10対応グラフィックスカードとWindows XPの組み合わせでもやってみたが,結果は同様で,いちばんマトモに動作するというTutorial12でも完全な動作が実現されているわけではないようだ。
左は開発機(GeForce Go 7400)での実行画面,中央はGeForce 8800 GTX搭載機での実行画面。右図のようになってほしいのだが……
|
|
|
こう少し単純なサンプルでのテスト
|
|
|
なお,現状で動作するのは,Tutorial12のほか,DX10SDKのチュートリアルの一部のみで,SDK内にあるほかのDirectX 10サンプルの多くは起動すらしないか,よくてウィンドウを開いて止まる程度,NVIDIAが公開しているDirectX 10のサンプルのほとんどはエラーで起動しないという状況だった。
Windows XPでは起動すらさせてくれなかったDirectX 10のプログラムが(Windows VistaでもDirectX 10対応グラフィックスカードがないと起動しない),多少なりとも動くという点では画期的だが,未サポートの部分は多く,まだまだ道は遠そうである。 また,首尾よくゲームが動くレベルにまで仕上がったとしても,マイクロソフトがどういった対応をしてくるか次第では,闇に葬り去られる可能性もある。作者は,自己紹介で「リバースエンジニア」と堂々と名乗りを上げているので,最悪,訴訟問題も考えられる。 今後,Windows XPのままでDirectX 10対応のゲームが動くようになれば,ゲーマーとしては喜ばしいことではあるが,先行きは不透明である。訴訟大国アメリカ産なので,法的に問題があるものを大々的に発表しているわけではないと思うのだが,今後はそういった面を含めて成り行きを見守りたい。(aueki)
|
|
|