2

私は現在プロジェクトの初期段階にあり、使用するフレームワークを決定するのに苦労しています。WPFは死んでいると言われていますが、それでもMicrosoft Surfaceアプリをプログラムする(唯一の?)方法のようです。これは、プロジェクトの将来の目標の1つですが、主な焦点ではありません。

ただし、主な焦点は次のとおりです。同じビュー内の2Dオブジェクトと3Dオブジェクトの両方(およびkinect /音声サポート)。2Dオブジェクトの一部はSVGファイルです。私がこれまでオンラインで読んだことから、XNA(さらに言えばSilverlight 5 3D)でSVGグラフィックスをレンダリングするのは簡単ではありません。SVGからXAMLへのコンバーターを見たことがありますが、この結果を3Dビューで使用できますか?またはその逆?

ゲームではないことを考えると、XNAを除外したいビジネスアプリケーションですが、グラフィックの処理がかなり行われ、可能であれば高解像度/ビデオウォールのサポートが行われるため、優れたパフォーマンスも必要です。 。ビデオウォールを考慮に入れると、解像度がGPUのテクスチャサイズ制限よりも低い場合にのみハードウェアアクセラレーションを使用することを読んだので、WPFを除外する可能性があります。

ブラウザや電話でアプリケーションを実行するつもりはないので、Silverlight5を除外したいと思っています。

ヒントをいただければ幸いです。ありがとう!

4

1 に答える 1

1

「ゲーム用」であるという理由で XNA を除外するつもりはありません。ハードウェア アクセラレーションによる 3D レンダリングに必要な部分だけを使用し、残りは無視することができます。これは実際、Silverlight 5 が行うことです。

そのため、3D レンダリング コードが XNA と SL5 の間でいずれにしても同じであることがわかる場合があります。

XNA の SVG に関する質問です。基本的には、ハードウェア アクセラレーションを使用する独自の SVG レンダラーを作成する必要があります。これは非常に難しい作業です。ただし、SVG ファイルがまったく変更されない場合は、既存のソフトウェア レンダラーを使用してそれらをテクスチャにレンダリングできます。

SVG を XAML に変換した場合、それをテクスチャにレンダリングして SL5 3D ビューで使用する必要があります (オーバーレイでない限り)。したがって、そこには大きな勝利はありません。WPF での 2D-3D 合成の仕組みがわかりません。

あなたの決定は、SL5 または WPF がユーザー インターフェイスに提供する組み込み機能が役立つかどうかにかかっていますか? 基本的に独自のユーザー インターフェイスを作成しているため、提供されている 2D インターフェイスをあまり活用できないでしょう。

SL5 が提供する 3D API は、基本的に XNA の縮小版です。WPF の 3D API は、モデルをレンダリングするだけのように見えます。XAML を使用するやむを得ない理由がある場合は、WPF を選択することをお勧めします。それ以外の場合は、XNA を使用します。

于 2011-04-24T02:31:56.177 に答える