ページ

2012年4月11日水曜日

[MetroStyle] マネージドコードで DirectX が使いたい

メトロスタイルでは基本的に WinRT を使うことになるわけですが、なんか WinRT に XNA って無くないですか?
Windows Phone にも乗って、Silverlight にも乗ったのに WinRT に乗らないとは思わなかったなぁ。
タブレットとかをサポートするために DirectX 自体がサポートされないのなら XNA が無いのもそりゃそうだと思うんですが。

Windows 8 アプリ開発者ブログ: 「XAML と DirectX の統合
これなんか読むとメトロスタイルでも DirectX は普通にあるんですよね?というか、DirectX はメトロスタイルでもかなり重要な要素だと思ってるように思います。けど、これを読むと、SurfaceImageSource なんかはマネージド側からはメソッドとかが見えなくなってて WinRT C++ から使わないといけないようになってるんですね。うーむ。

今は無いだけなのか、それとも今後も XNA をサポートするつもりは無いのかはよくわかりませんが、無いものは仕方ないですね。

で、どうやら SharpDX という DirectX をまんま C# でラップしたものがあるそうです。
DirectX 11.1、Windows 8 もサポートしていてメトロスタイルアプリからも使えるとあります。

Lighting Effects in your XAML/C# metro apps :)
Effect-Graphs in our XAML/C# metro apps using SharpDx :)
WinRT-XAML/C# アプリから SharpDX 経由で DirectX を使ってみたという記事がありました。
ほぅ。
自分では試してないですが、ほんとにちゃんと使えるみたいですね。

ちょっと気になるのは Windows Store から配布するには審査に通る必要がありますが、まさかマネージドから DirectX 呼んでると審査落ちするなんてことは無いですよね?(WinRT C++ が大丈夫なんですから大丈夫なんだと思いますが)

あと、ANX.Framework なんていうのもありました。
XNA 互換のライブラリだそうです。(SharpDX を利用)アルファとあるので完成度はわかりませんが。

というわけで XNA が無くても何とかなると言えば何とかなるのかな?
# いっそのこと OpenGL サポートしちゃえば iOS や Android からの移植が増えそうな気がするんだけど、そうはいかんもんだろうか。

1 件のコメント:

  1. >いっそのこと OpenGL サポートしちゃえば iOS や Android からの移植が増えそうな気がするんだけど、

    http://www.faqs.org/faqs/graphics/opengl-faq/part2/#b

    このQ14の商用配布の場合は5ドルのロイヤリティ
    というのを払いたくないからDirectXを作った
    ような気がするので無理でしょう。

    返信削除