OpenGL によって描画されたいくつかの単純な形状 (円、多角形、線) を持つ透明な OpenGL テクスチャがあります。アンチエイリアシングやマルチサンプリングなどを行わずに描画されているため、境界線がぎざぎざになっています。
テクスチャ作成のプロセスにアクセスできないため、マルチサンプリングを有効にできません。描画が完了した後にそれらを滑らかにする方法はありますか?
OpenGL によって描画されたいくつかの単純な形状 (円、多角形、線) を持つ透明な OpenGL テクスチャがあります。アンチエイリアシングやマルチサンプリングなどを行わずに描画されているため、境界線がぎざぎざになっています。
テクスチャ作成のプロセスにアクセスできないため、マルチサンプリングを有効にできません。描画が完了した後にそれらを滑らかにする方法はありますか?
この状況で機能するFXAAや MLAAなどの画像ベースのアンチエイリアシング フィルターがあります。アンチエイリアシングと呼ぶのは躊躇します。なぜなら、エイリアシングを実際に回避するわけではなく、事後的に隠すだけだからです。それらは、インテリジェントなぼかしフィルターに似ています。
他の質問から、FBO を使用したくないことがわかっているため、OpenGL 2.1 またはそれ以前のコードベースを使用していると思われます。FXAA は GLSL 1.20 で実装できますが、1.30 (GL 3.0) でより適切に機能します。私が知らないことの1つは、透明度を含む画像でFXAAを使用することです。これは、ルミナンスがアルファチャンネル(またはGL 2.1機能ではないsRGB)でエンコードされることを期待しています。
FXAA をテクスチャに直接適用したくない場合は、PBuffer に描画して、入力テクスチャをブレンドした後に FXAA を適用する必要があります。