none
通常のFormアプリで3Dを扱いたいが、ManagedDirectXとXNAどっちが良い? RRS feed

  • 質問

  • こんにちは、wakahanaです。

     

    ManagedDirectXについて質問です。

     

    現在C#を使ってFormアプリケーションを作成しており、その際3D表示が必要なため、

    ManagedDirectXを使っております(3Dだけでなく各種コントロールも使います)。

    ManagedDirectXは2.0のベータ版の開発途中にXNAになったため、今後は使用できないと

    知りました。なのでManagedDirectXの1.1を使って開発しております。

     

    が、XNAを使ったほうがよいのでしょうか?

     

    ManagedDirectX1.1は保守をしていくとMSからアナウンスがありましたが、

    将来的にXNAにシフトするのであれば、今からそちらにシフトしたいと思います。

     

    ゲームに特化したアプリを作るつもりは無いので、「VisualC# ExpressEdition」を使う

    つもりはなく、従来のVisualStudio2005を使ってますが、XNAを使う場合、

    VisualStudio2005でも開発可能でしょうか?

     

    ご存知の方、宜しくお願いします。
    2007年7月23日 3:16

すべての返信

  •  現在 XNA は Visual C# 2005 しか対応しておらず、Formアプリケーション向けに対してはサポートしていません。ただ、開発環境に関しては Visual Studio 2008 で他のエディッションにも対応するらしいです。

     ちなみに、XNA はゲーム向けのラライブラリとして提供されていますが、Formアプリケーションで使うことも可能です。この場合完全に自己責任にはなりますが^^;

     

     ということで .NET で DirectX を使うアプリケーションでサポートされているのは ManagedDirectX1.1 のみになっています。とはいうものの、こちらも wakahana の言うとおり保守状態になっており今後改良されることはないので、現時点ではどれを使ったらいいか正直判断が難しいと思います。

     

     単純な3D表示であれば WPF を使うという選択肢もありますが、シェーダプログラムが使用できなかったりと結構制限がありますので、凝ったものはできないでしょう。

     

     後は C++ のコードをラップするとか、Managed DirectX をラップして今後ライブラリが変わったときにうまく移行できるようにするしかないかと思います。

    2007年7月24日 3:20
  • オノデラさん、回答有難うございます。

     

    WPFについては調べておりませんでしたが、上記のような制限があるのですね。

    結局、Managed1.1を使う事にしました、XNAも検討しましたが、結局はManaged1.1のラッパークラス

    でしかないので、現行のDirectX9のAPPがそっくり使える利点を考えてそうしました。

     

    解決しました。有難うございました。

    2007年7月24日 4:02