作成しているテクスチャがあり、それらをアンチエイリアスしたいと思います。各ピクセルの色にアクセスできますが、これを考えると、テクスチャ全体をアンチエイリアスする方法はありますか?
ありがとう
作成しているテクスチャがあり、それらをアンチエイリアスしたいと思います。各ピクセルの色にアクセスできますが、これを考えると、テクスチャ全体をアンチエイリアスする方法はありますか?
ありがとう
申し訳ありませんが、真のアンチエイリアシングは、上記でコメントしたように、隣人から平均的な色を取得することではありません。これは間違いなくエッジを柔らかくしますが、アンチエイリアシングではなくぼやけます。真のアンチエイリアシングは、描画時に計算して、どのピクセルやエッジを「ソフト化」する必要があるか、どのピクセルやエッジを「ソフト化」してはならないかを判断する必要があるため、ビットマップでは適切に実行できません。たとえば、正確に1ピクセルの太さ(「高」など)で、整数の画面行座標に正確に配置する必要がある水平線を描画するとします。明らかに、それを柔らかくしないで、適切なアンチエイリアシングアルゴリズムがそれを行い、トーンがまったく混ざり合うことなく、完全な背景色のピクセルに囲まれた完全なピクセルの列として線を描画します。しかし、それが描かれた後、あなたがこれと同じ線を取るならば(すなわち ビットマップ)そして平均的な方法を適用すると、線の上下がぼやけて、3ピクセルの太さの水平線ができますが、これは目標ではありません。もちろん、すべては正しいコーディングによって達成できますが、非常に異なり、はるかに複雑なアプローチからです。
「アンチエイリアシング」とは、さまざまな手法を指します。これらのどれも、通常、テクスチャに対して事前に行うことではありません。
多分あなたはミップマッピングを意味しますか? http://en.wikipedia.org/wiki/Mipmap
アンチエイリアシングの基本的な方法は次のとおりです。ピクセルPの場合、その周囲のピクセルをサンプリングします。Pの新しい色は、元の色とサンプルの色の平均です。
サンプリングするピクセルの数を増減したり、サンプリングするピクセルの周囲の領域のサイズを変更したり、サンプリングするピクセルをランダムに選択したりできます。
ただし、他の人が言っているように、アンチエイリアシングは、すでにピクセルのビットマップである画像に対して行われることではありません。これは、2D/3Dレンダリングエンジンに実装されている手法です。
このあいまいな用語でアンチエイリアスについて質問することはあまり意味がありません。それはすべて、テクスチャの性質とそれらがどのように使用されるかに依存します。
ただし、一般的に、表示環境を制御できず、テクスチャをスケーリング、回転、または制御できない他の要素と合成する可能性がある場合は、透明度を使用して、画像の終わりと場所を示す必要があります。ピクセルを部分的に塗りつぶすだけです。
また、実行される可能性のあるスケーリングの量に比べて小さい鋭いエッジや特徴を避けることも一般的には良いことです。