SharpDXはまだ十分に成熟していますか、それとも今すぐSlimDXを使い始めるべきですか?


10

XNAでのゲームプロジェクトを停止しようとしています。集めることができるものから、開発は終わりに近づいています(そして、現在の技術の背後にすでにあります)。したがって、新しいフレームワークまたはAPIを採用する必要があります。

私は2日間C ++を調べただけで、本当に自分には向かないと判断しました-しかし、DirectXへの直接アクセスは魅力的だと思います。SharpDXは出発点としては良いように思えますが、ドキュメントもコードコメントもありません。まだ使用できる状態ではないようです。

これらのフレームワークのいずれかまたは両方を使用した人々の意見に興味があります。どちらを学ぶべきかを確実に判断するのに役立ちます。アドバイスありがとうございます。


1
非常に会話的な質問:)。SharpDXは、ヘッダーから直接生成されるため、おそらくSlimDXと同じくらい成熟しています。そのため、DirectXの100%がすぐにラップされます。どちらのライブラリも基本的に同じです。したがって、SharpDXにSlimDXサンプルを使用できます。
ジョナサンディキンソン

1
C / C ++を選択するためのあなたの遠慮が興奮の面で実際の問題である可能性があります。管理されたレベルにとどまっている限り、本物の肉、IMOに到達することは決してありません。これは、C ++で正式にトレーニングされているにもかかわらず、マネージ言語に長い間誓っていた人からのものです。ただの観察です。C ++を難しくしすぎないでください。確かにそれがあなたに他の産業(医療、金融、防衛)への確かなエントリーポイントを与えるので、それはあなたがそうすれば確かにこの産業であなたのオプションを制限します、その逆は間違いなく真実ではありません。参考までに、平均賃金ははるかに高いです。
エンジニア、

私は本当にDXに興味があり、プロジェクトをスリムまたはシャープに移植することになるかもしれませんが、私は確かにあなたの言っていることを聞いています。そして、その不快感を克服できるようにC ++を学習し続けることは、おそらく私に役立つでしょう。12か月後、C ++ / Direct Xを使用する必要がある立場にあれば、その仕事に適したツールであればそれを選択できると思います。
Gavin Williams

回答:


16

私はSharpDXの作者です。ですから、私のアドバイスは偏っていますが、少なくともあなたの懸念のいくつかについて返答したいと思います。

SharpDXのドキュメントについては、DirectX API全体を.NETおよび新しいWin8 OSからアクセスできるようにするためにこれまで取り組んできたため、現在の状態は非常に限られています。この辺で締めくくっているので、SharpDXの主要な概念と、それを最大限に活用する方法を説明する完全なWebサイトといくつかの記事を提供することに取り組んでいます。また、このプロジェクトは主にDirectXを.NETに導入することを目的としているため、低レベルのAPIのままです。したがって、C ++ APIの動作を理解するには、C ++ APIの動作を少し掘り下げる必要があります。幸い、SharpDXのほとんどすべてのメソッドはDirectX APIの1つのメソッドにマッピングされるため、DirectX APIを確認することで、メソッドの使用方法を簡単に確認できます。SharpDX 2で利用できるドキュメントシステム。

SharpDXをゲームの開発に使用する準備はできていますか?つまり、はい。

まず、C#での新しい3Dエンジンの開発に参加するために日本の会社に雇われました。WindowsのレンダリングバックエンドにSharpDXを使用しています。

次に、SharpDXを使用してマルチメディアアプリケーション(ゲーム、レベルエディタ、オンライン写真公開など)を開発している企業の開発者から、たくさんのプライベートメールを受け取りました。これらの顧客の一部は非常に大きい(残念ながら、それらを引用することはできない)。

最後に、一部のパブリックオープンソースプロジェクトは、メインのバックエンドレンダリングにSharpDXを使用しています(または使用する予定です)。たとえば、Delta Engineは、Direct3D11レンダリングにSharpDXをすでに使用しています(Win8でも使用可能になります)。今後のANXプロジェクト(オープンソースXNA後継者)も、レンダリング、ゲームパッド、オーディオ管理にSharpDXを使用しています。

しかし、SharpDXはゲームエンジンを構築し、ゲームを構築するための一歩に過ぎません。APIは低レベルであるため、XNAなどのフレームワークで使用していたのと同じ種類の高レベルの機能を期待することはできません。しかし、最小限のフレームワークがあれば、さまざまなことができます。

また、Unityなどの定評のある製品を使用して、C#でポータブルゲームを開発することもできます。


1
ANXの+1。XNAのシンプルさが大好きなので、本当にエキサイティングです(必要なブーストラップコードの量が原因で、すぐに#DXをあきらめました)。
ジョナサンディキンソン

うわー、アレクサンドルを追加してくれてありがとう、私は今夜、slimDXチームからの出発とあなたがSharpDXについて何を考えているかについて、あなたの投稿のいくつかを読んでいました。このような焦点を絞った作業を見るのは素晴らしいことであり、別のマネージフレームワークを用意することは素晴らしいことです。マネージドグラフィックエンジンが大きくなっているだけで、完全な可能性はまだ見ていません。マネージコードのパフォーマンスの問題が、呼び出し時やガベージコレクターの動作に起因するものであるかどうかにかかわらず、問題が解決または最小化されることを願っています。あなたは確かにそのソリューションに追加しています。
ギャビンウィリアムズ

本当にたくさんの選択肢があります。Unityをダウンロードしました。ゲームエンジンやそのようなものを見たことがないので、何ができるのか、どのように行われるのかを見るのは興味深いでしょう。私のプロジェクトの基本はすでにxnaで書かれており、5000〜10,000行のコードのどこかにあるので、できればそのコードを使用したいと思います。しかし、それでも完全とは程遠いので、1週間から2週間かけて別のフレームワークやエンジンを検討するのは、悪い投資ではないと思います。
Gavin Williams

この投稿の前にANXについて聞いたことがありませんでした。これがどこに行くのか非常に興味があります。ところで、あなたはあなたのポストのリンクを更新する場合がありますanxframework.codeplex.comを
デビッドGouveiaの
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.