私が支援しているプロジェクトでは、クライアントに freeglut を使用しています。別の方法でアドバイスしたほうがいいでしょうか?
質問
私は、クライアントに freeglut (長い間廃止されていた Glut に基づく) を使用する開発プロジェクトに参加しています。
最終的に、クライアントは大規模な 3D 環境との完全な対話を可能にするでしょう。freeglut で開発を続行すべきか (それは可能ですか)、それとも libsdl、opentk、さらには axiom などの別の代替手段を使用するようアドバイスすべきでしょうか。
私はグラフィックの専門家ではありませんが、freeglut の選択肢は潜在的に限られているのではないかと感じています。
最も説得力のある回答 (賛成または反対) が認定されます。
編集:いくつかのポイント...
- プロジェクトはすでに Tao フレームワークを使用しています。
- DirectX と XNA はオプションではありません (例:freeglut や libsdl などを使用する必要があります)。
私が調査したところ、freeglut が再び活発に開発中であり、リリースが保留中であることがわかりました。だからといって、それが依然として選択肢が限られている可能性があるという私の気持ちは変わりません。
私の質問は、それがどのように行われるかではなく、freeglut が潜在的に大規模になる可能性のあるものにとって依然として実行可能な選択肢であるかどうか、そして開発を少し容易にする可能性のあるより「最新の」ソリューションがあるかどうかです。
編集:他の代替手段がより優れたマルチスレッド サポート (オブジェクトのレンダリングではなく、データの処理など) を備えていれば役立ちます。
編集:もう少し詳しく説明すると…クライアントは少なくとも Linux と Windows で動作する必要があります。
ありがとう!
解決
私はfreeglutに何か問題がないと思います。これは、積極的に開発されている、とNabble上の支援のためのアクティブなボードがあります。
、WindowsでOpenGLコンテキストを作成することは困難ではない、なぜだけではなく、それを直接使用したこと?それはレッドブックを使用したものだったので、私は常に供給過剰/ FreeGlut使用人々を思いました。 (マウスとキーボードのためのコールバックは、物事を単純化しませんが)私はそれを時限ことはありませんが、供給過剰は常に相互運用を通じてOpenGLを使用するよりも少し遅く感じました。
あなたが直接OpenGLを使用したい場合は良いOpenGLのラッパーを持ってのタオプロジェクト。また、FreeGlutとGLFW、あまりにもマウスとキーボードのコールバックを提供していますのGLUTの代替のための素晴らしいの.Netバインディングを持っています。
他のヒント
私はそのマルチメディア機能は、それが簡単だけでなくオーディオハードウェアで動作するようにし、libsdlのために行くだろう、それはC#と他の言語の多様性にネイティブバインディングを持っている、とあなたが今までに統合することを決定した場合にも有用であることができあなたのプロジェクトのためのモバイルインタフェースます。
のC#でOpenGLのは、ラッパーを介して行われます。それらのほとんどは、積極的にもう用に開発されていません。
のC#での3D開発のための標準的な選択はどちらかである管理のdirectXを使用して、またはXNAライブラリを使用します。
R