web-dev-qa-db-ja.com

C ++グラフィック描画ライブラリ

C++に最適なグラフィック描画ライブラリを知っている人はいますか?基本的な形状を描画でき、画像編集、グラデーション、ベクトルまたは3Dを作成できるライブラリが必要です。

ウィンドウの描画機能は複雑で、それほど高度ではありません。

17
Andrei

カイロ の使用をお勧めしますか?

このベクターライブラリは非常に高速で、冗長で強力です。それらを見てください かなりの例

ベクトル化された3Dテクスチャが必要な場合は、 OpenGLとの統合 もあります。

22
LiraNuna

AGG、Cairo、GDI +、Quartz(Mac用)をテストしました。

Quartzが最高だと思いますが、(私が知っている限り)Macでしか利用できません。

AGGは強力ですが、十分に文書化されていません。開発者は、doxygenのような標準的なものを使用する代わりに、車輪の再発明を決定し、独自のドキュメントシステムを作成しました。基本的な理解のための優れたチュートリアルがありますが、深く掘り下げると、APIドキュメントが不足しているか、不正確であるか、不完全であることがわかります。

GDI +は他のものと比較してかなり基本的であり、Windowsでのみ使用できます。

結果として、おそらくカイロが最善の選択だと思います(Mac専用に開発することを選択できる場合を除く)。それは十分に文書化されており、コードはクリーンで、高速で強力です。

6
Fabio Ceconello

チェックアウト CImgライブラリ。

CImgは「CoolImage」の略です:使いやすく効率的です。これは、C++で画像処理をコーディングするための非常に快適なツールボックスであり、幅広い画像処理アプリケーションをカバーする可能性があります。

3

グラフィックライブラリOpenGL、DirectX、およびOgre3Dなどのゲームエンジンは、図形やグラデーションの描画などのタスクには低すぎる可能性があります。

たぶん、上記のようにカイロ( http://cairographics.org/ )を見るか、かなり完全で効率的な描画モジュールを備えたQt( http:/ /qt.nokia.com/doc/4.5/examples.html#graphics-view )で、高レベル(GraphicsScene&GraphicsView)と低レベル(OpenGL)の描画が可能です。

2
NewbiZ

2D描画の場合、 [〜#〜] sfml [〜#〜] はNiceAPIを提供します。

詳細については、品質の一部を参照してください チュートリアル

1
Drew Noakes

DirectXとOpenGLは、ここでは2つのオプションです。ただし、どちらも複雑です。

0
CookieOfFortune

3D向けですが、 Ogre3D で2Dの作業を行うことができます。

0
Steve Obbayi