私はOpenGLベースのGUIを持っています。私は様々なスケールに対応できるように超解像度を使用しています。画像を拡大する代わりに、縮小されます(誰かが4000x4000 +解像度で動作している場合を除きます)。OpenGL超解像度の問題
問題は、OpenGLはスムーズに縮小されていないようです。スケーリングが最近傍であるかのようにアーティファクトがあります。 1 I:ここで
glBindTexture(GL_TEXTURE_2D, tex);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
は、成果物のサンプルで、スケーリングが2である:これらは私が使用して設定されている
(例えば、テキストのエッジは、彼らが元になっていないにもかかわらず、ブロッキーです)信じる。たぶんそれはウィンドウのエッジなどのために正確ではありません。
あなたは左端が完璧に見える(それはしかしではありません)が、右端はそれで奇妙な休憩を持って見ることができます。元のグラフィックは完全に対称で、アーティファクトはありません。
私はGL_NEAREST、GL_LINEARを試しました。ミップマッピングがありません。
確かにOpenGLはスケーリングに劣りませんか?私はバイキュービックスケーリングのようなもの、あるいは良い結果を生み出すものを望みます。
私はOpenGL 1.1を使用しています。私は潜在的にイメージを拡大縮小することができますが、ウィンドウサイズが変わるたびにそれを行わなければならず、CPUが遅くなる可能性があります。
一部の画像にもエッジがギザギザになっています。超解像度の全体的なポイントは、これを避けることでした;/
いくつかの設定がありますか?
スーパーレゾリューションは、ダウンサンプリングに関する懸念があるため、ちょっとミスリーディングです。それにもかかわらず、最も近いものから直線的なものに変更すると、小さなスケーリングで差が見られるはずです(例:オリジナルの1/1.2)。 'GL_NEAREST'は最近隣の補間です。 – mainactual