質問: C ++の描画(プリミティブ、ラインなど)のための最も一般的なクロスプラットフォームソリューションですか? 私は、Java、Python、C#、Cで書かれた多くの経験があり、ほとんどが趣味のものです。私が使用しているフレームワーク(Swing Canvas、.NET Canvas、pygame once)の在庫「Canvas」クラスは、常にディスプレイ(シミュレーション、グラフ作成者など)を含むすべてのアプリケーションで使用されています。 Pythonの場合)。 これの欠点は、これらのすべてが描画においてわずかに異なるパラダイムを持っていることです。 私はC ++でプロジェクトを開始しており、クロスプラットフォームの描画に最適なソリューションが何であるか疑問に思っていました。 OpenGLは明らかに非常に低いレベルですが、OpenGLの上にある種のライブラリが良いでしょう。私は、カイロ、SDLなどのことについて聞いたことがありますが、何をどうしたらいいのかはまだ分かりません。私はすでにインターフェイスにwxWidgetsを使用していますが、wxWidgetsキャンバスの代わりにもっと標準的なものを使うことを好みます。明らかに、絵やその他のものを表示するだけでなく、線や形を描く能力も重要です。 どの方向にも感謝します!
回答: SDLはシンプルメディアダイレクトレイヤーで、基本的にはフレームバッファとオーディオデバイスとのインターフェースとして使用されます。ウィンドウなどを作成したい場合は、クロスプラットフォームで動作する汎用の構造を持っていません。 カイロはグラフィックを描くためのものですが、WxWidgetsが提供するものよりも低いレベルで動作します。 C ++は何も標準的なものを提供していないので、特定のプラットフォームに特化しているか、Qtのようなクロスプラットフォームライブラリを使用するか、wxWidgetsを使用します。どちらも一般的で広く使われていますが、Qtはおそらくもっとよく知られていますが(それはちょうど意見ですが)私は仕事のためにQtを使いました。それは非常に多くのクロスプラットフォームで使いやすいですが(非常に広範囲なので、たくさんのドキュメントを読む準備をしています)。幸いなことに、多くのドキュメントと多くの例があります。 さらに、wxWidgetsとQtの両方に多くの言語でバインドされているため、どちらかの知識を取り入れて他の多くの言語で使用することができます。