BitBltと標準のVB6描画機能を介して多くの描画を行うVB6アプリケーション(笑わないでください)があります。私はパフォーマンスの問題に直面しています(はい、メモリに描画するなどの通常のトリックを実行します)。そこで、他の描画方法を検討することにし、OpenGLに出くわしました。
私はいくつかの実験を行ってきましたが、私がやりたいことのほとんどを行うのは簡単なようです。このアプリケーションは、ほとんどの場合、非常に単純な描画(単色の比較的大きな2D長方形など)のみを使用しますが、HatchBrushやPatternBrushのようなものに相当するものを見つけることができませんでした。
具体的には、小さなモノクロのピクセルパターンを指定し、色を選択し、ポリゴン(またはその他)を描画するたびに、ソリッドではなく、そのパターンで自動的にタイル化され、変換または回転されないようにします。パターンの「オン」ビットが指定された色で表示され、パターンの「オフ」ビットが残って、現在描画している領域の下に描画されたものがすべて表示された状態で、歪んだり引き伸ばされたりします。
明らかに、私はすべての計算を自分で行うことができました。つまり、何らかの形で自動的に並べて表示されるポリゴンとして描画する代わりに、すべての線やピクセルなど、実際に描画する必要のあるものを計算してから、線やピクセルなどとして描画することができます。しかし、もっと簡単な方法はありますか?GDIのように、「このブラシを使用してこのポリゴンを描画する」と言うだけですか?
「テクスチャ」は私が望むことを達成できるかもしれないと私は推測していますが、それは私には明らかではありません(私はこれにまったく慣れておらず、私が見つけたドキュメントは完全に明白ではありません)。ポリゴンの頂点に基づいて、テクスチャがパターンを歪めたり、平行移動したり、伸ばしたりする可能性があるようです。パターンを並べて表示したいのに対して。
正確にピクセル/ライン/描画する必要があるものをブルートフォースで計算する以外に、これを行う方法、またはそのような方法はありますか?
助けてくれてありがとう。