Windows/C ++のAPIを描く良い2Dグラフィックスの良いグラフィックスは何ですか?
質問
私は小さな小さなアプリケーションに取り組んでおり、DirectX/3Dを使用して画面にテクスチャを描画しています(すべての2次元要素)。 APIは、非常に使いやすく、OOPの原則を使用して組み込むことができると思いますが、この小さなものにDirectXを使用することは非常にめちゃくちゃ過剰なことだと感じずにはいられません。
しかし、私は良い代替案についてコンセンサスを見つけることができないようです。助言がありますか?
編集: ネイティブのアルファブレンドおよびPNGファイルのサポートが必要です。
多くの最初のポストの愛、ジェンガー
解決
アルファブレンドが必要な場合は、グラフィックスハードウェアを使用する必要があります。それを行う唯一の良い方法は、現在のやり方と同様の3D APIを使用することです(DirectXまたはOpenGL)。代替案(GDI/+またはSay、DirectDraw)は、ブレンドを加速するために完全なグラフィックスハードウェアを使用せず、CPUで実行する必要があり、パフォーマンスを大幅に削減します。
前述のように、Direct2Dはオプションでもあります。これは、機能的には、より多くの2D固有の機能と優れたテキストサポートをサポートするDirect3Dの上のレイヤーです。
他のヒント
Windowsには箱から出して1つが含まれています。 (gdi32.dll)。に引っ掛けることができます WM_PAINT
WindowProcの呼び出しと使用のメッセージ BeginPaint()
描画を開始します。何ができるか、そして基本的なチュートリアルを利用できることについての本当に良いアイデア ZetCode.
利用した ゴス 過去には、一緒に仕事をすることは大丈夫でした。 Rubyでより使用するように設計されていますが、C ++には悪くはありません。 Zオーダーとアルファチャネルを台無しにしたクイックサイドスクラーゲームで使用しました。チェックアウトする価値があるかもしれません。