/ / C ++、OpenGL、テクスチャ、アンチエイリアス、ポストプロセッシング後のテクスチャ上の図形の/ OpenGLアンチエイリアス

OpenGL合成後のテクスチャ上の図形のアンチエイリアシング - c ++、OpenGL、テクスチャ、アンチエイリアス、後処理

透明なOpenGLテクスチャがあります。OpenGLによって描画される単純な図形: 円、ポリゴン、線。アンチエイリアス、マルチサンプリングなどが行われずに描画されます。したがって、ジャギーの境界線があります。

私はテクスチャの作成プロセスにアクセスすることができないので、マルチサンプリングを有効にすることはできません 。 後で円滑に描画する方法はありますか?

回答:

回答№1は2

画像ベースのアンチエイリアシングフィルタには、 FXAA この状況で動作するMLAAがあります。 私は本当にエイリアスを避けていないので、アンチエイリアスと呼ぶことを躊躇しています。インテリジェントなぼかしフィルタに似ています。

私はあなたの他の質問から、あなたがしないことを知っていますFBOを使用したいので、OpenGL 2.1以前のコードベースを使用していると思うようになります。 FXAAはGLSL 1.20で実装できますが、1.30(GL 3.0)ではうまく動作します。私が知らないことの1つは、透明度を含む画像にFXAAを使用することです。アルファチャンネル(または、GL 2.1の機能ではないsRGB)に輝度がエンコードされることを期待しています。

おそらく、FXAAをテクスチャに直接適用するのではなく、PBufferに描画してFXAAを適用する必要があります 入力テクスチャをブレンドします。