FXAA-NVIDIAの新しい平滑化アルゴリズム

こんにちは。



ビデオゲームが感情のハリケーンをもたらしたのは、私たちがそれらをプレイしたからという理由だけでした。 画面上の画像の品質に関して、プレイヤーは長い間、特に要求が厳しくなりました。 この品質のコンポーネントの1つであるスムージングについて教えてください。



プレイヤーの大多数は、オブジェクトの端にある「ラダー」と、この問題の解決策である「アンチエイリアシング」または「スムージング」を認識しています。 この問題については、Don Woligroski Anti- aliasing Analysis、Part 1:Settings And Surprisesロシア語訳 )の記事で詳しく説明されています。 また、Digital Foundry- The Anti-Aliasing Effect(英語)は 、現在の世代のゲームコンソールのゲームの例とよく比較されています。 要するに、それはすべて一つのことに帰着します:スムージングは​​素晴らしいです、ゲーム業界の現代の現実では、画像の知覚は価格が上がります、スムージングがほとんどない、またはそれなしの製品はブーイングカテゴリに属します(主に競合するプラットフォームのファンによって、それにもかかわらず) 、しかし、主にターゲット機器の計算能力が不十分であるため、高品質の平滑化の実装には多くの要望が残されています。 この場合、もちろん、PCでプレイするための謝罪者ははるかに有利な条件にあります。 素材の要素だけが鉄の力に影響しますが、コンソールプレーヤーは、「PC HAZ NO GAEMZ!」という件名でPCをゴシップする機会を逃しません。 「ウォームチューブゲーム」の主観的な感覚を支持する合理的かつ客観的な議論はあり得ないため、この問題については特に言及しません。それはすべての結果を伴う個人的な選択の問題です。 既存のアルゴリズムと使用済みのアルゴリズムについては、上記のリンクで説明しているため、FXAAとは何で、何を食べ、どれだけおいしいかというトピックに直接進みます。



理論から始めましょう。 非常に正確に言うと、FXAAはそれほど新しいアルゴリズムではありません。MMORPGAge of Conanで最初に使用され、F.3.ARシューティングゲームですでに言及されていましたが、 私が出会った興味深いソリューションのおかげで、それを新しいと見なします頻繁に訪れるフォーラムの目からh0w1erに感謝)。 FXAA-高速なアンチエイリアシング、これは従来のMSAA(マルチサンプリングアンチエイリアシング)よりも生産的なソリューションです。 これは、後処理段階で結果のフレームを計算する1パスピクセルシェーダーです。 MSAAと比較してより速く、メモリへの要求が少なく、正確さと品質のために「プラス」を「支払う」ことを目的として作成されましたが、実際にはすべてが怖いほどではありません。 FXAAには、スペックとサブピクセルの改善された平滑化など、多くの利点もあります(1ピクセルより小さい表面について話しているため、「はしご」がそのようなオブジェクトをちらつきさせます)。 公式文書(PDF)で、FXAA Timothy Lottes( Timothy Lottes )の作成者は、中品質設定(品質とパフォーマンスの間の「黄金平均」)のFXAAアルゴリズムの場合、GTX 480での1920x1200の後処理フレーム解像度は1ミリ秒未満であると述べています。 Timothyによれば、FXAAの主な利点はFXAAサブピクセルスムージングアルゴリズムであり、これはMLAAよりも良好に動作し 、DX9ハードウェアの十分性、1パスでのフレームの後処理、そして私の意見では、 使用されるGPU Compute APIからの独立性です。 しかし、厄介な点が1つあります。これは、従来のアンチエイリアシング方法がドライバーレベルでどのように機能する(または機能しない)かを開発者がゲームに埋め込む必要があるためです。 つまり、プログラマーがエンジンで平滑化のためにFXAAコードを使用するまで、期待する効果が得られず、外部からFXAAを公式に有効にすることは不可能でした。 最近まで。



7月31日に、 3DCenterフォーラムのAlles rund um FXAA(Treibereinstellungen、Shader-replacements)ブランチで、 「some dude」が登場し 、FXAAコードをd3d.dllライブラリに挿入し、構成ファイルを使用して結果を柔軟に構成し、オンとオフを切り替えることができましたFXAAは[ 挿入 ]ボタンクリックし、[一時停止]をクリックしてスクリーンショットを撮ります。[スクリーン印刷]はベータ9以降のスクリーンショットを撮ります。このファイルのセットは、DX9アプリケーションの実行可能ファイル(ゲーム、デモ-関係ありません)を含むディレクトリにコピーされますが、このアプリケーション起動時に、目的のインジェクションでライブラリを「ピックアップ」します。 そして、それは去りました:Gast(注入の著者)は最初に作業結果をログに保存することを懸念していたので、人々は彼にバグを送り始めました。 その後、DX10(dxgi.dll)のインジェクションがキット登場し、現在はFXAAを DX11 に追加するオプションを検討していますが、作成者にはDX11ハードウェアがないため、質問は少し宙に浮いています 。バージョン10ベータからはDX11もあります(ただし、まだベータ版です)。

2011年8月19日更新

<以前は関連性を失った多くのリンクがありました>

2011年8月19日、現在のバージョンはbeta 10 、ミラー: rapidshare.comletitbit.netdepositfiles.comrghost.netです。 残念ながら(または幸いなことに、そのような人)、ケラレ、セピアなどを含む、 pedaceからのフィルターのセット ベータ10についてはまだ発表されていませんが、このバージョンのカスタムフィルターである[ 1 ]、[ 2 ]、[ 3 ]、[ 4 ]、[ 5 ]につまずきました。



そして今- ダンスの練習。 World of Tankバージョン0.6.6で練習します。



WoT no WoT EdgeAA



WoT FXAA WoT FXAA Sharpen



アンチエイリアシングなし(AAなし)のオプションは明らかな「エスカレーター」を示​​し、タンクモデルは非常に大きく詳細ですが、アーティファクトは特に薄いオブジェクトで明確に表示されます。これについては以下でさらに説明します。



組み込みのアンチエイリアスオプション(Edge AA)は、オブジェクトのエッジをぼかすことを試みますが、画像が小さな石鹸に入ることは言うまでもなく、かなり平凡です。



次のオプションはFXAAです。結果は明らかです。エッジにアーティファクトはありませんが、EdgeAAではほとんど区別できないが、noAAに比べて石鹸性もわずかに追加されています。



さて、オプションFXAA Sharpen。 beta 6のGastは、 MPC-HCから取得したシャープネスフィルターを追加しました。結果は非常にまともです:石鹸は消え、テクスチャはオリジナルよりもさらにシャープに見え始め、このフィルターにもかかわらず「ラダー」は実質的に追加されませんでした。 著者によって計画されていなかった塔のテクスチャのシャープさのために、それは少し「ノックアウト」されました(青いゾーン)が、ゲームでは、それは絶対に見えません。



パフォーマンスはどうですか? はい、ほとんど何も悪いことはありません。 残念ながら、WoTエンジンは独自の世界に住んでおり、パフォーマンスの急上昇/低下が突然発生する可能性があります。 私は次のものを手に入れました:



WoT inbattle noAA WoT inbattle FXAA Sharpen



「戦闘ではないAA」の画像は、前述のとおりです。細い木はアーティファクトから割れますが、「戦闘でのFXAAシャープ化」オプションは、シャープネスフィルターの問題を除いて、画像を目で楽しませます。取り付けられた大砲の光景などの髪の太さ。 FXAAバージョンの1秒あたりのフレーム数は、これら2つのスクリーンショットが1秒の差で撮影され、戦車が静止していたにもかかわらず、さらに多くなっています。



実際、長時間のテストでは、数値は10〜12%でした。FXAAを使用するとパフォーマンスが大幅に低下しますが、MSAA 4xは、FXAAが競合するスムージング品質で、しばしば2倍低下します。 比較が興味深い場合は、サイトの記事[ NV ] Antialiasing Technology [H] ard | OCPでより多くの数字と写真を見つけることができます。ここで情報を入手し、短いレビューの最後にMark Warner @ HardOCPに同意します:FXAA特にコンソールでは、リソースが非常に限られているため、開発者の助けを借りずに多くの人が自分の好みに合わせてインジェクション構成を構成することができるという素晴らしい未来は、お気に入りのゲームで美しい絵を楽しむことができます。



UPD。 8月10日に、いわば、ディスカッション参加者からのよりカスタマイズ可能なインジェクションが登場しました: INJ_FXAA_DX9_pedace_v1.rar 、ミラー: rapidshare.comletitbit.netdepositfiles.comrghost.nethotfile.com 。 アセンブリには、彩度、ケラレ、ぼかし、セピアなどのさまざまなフィルターが含まれています。 これらはすべて単一の設定ファイルで構成され、最も便利です-設定はオンザフライで変更されます:設定を編集するためのアプリケーションからAlt + Tab、Alt + Tab戻る-新しい設定が機能し、再起動は不要です。 このインジェクションオプションを使用すると、USE_TECHNICOLOR、USE_TONEMAP、USE_VIGNETTEを完全に無効にした設定で、シャープフィルターがオンになったときにフェードがなくなりました。 結果は次のようになります。



WoT pedace noAA WoT pedace FXAA



「はしご」や石鹸のない、より鮮明な画像があり、テクスチャーさえもより楽しく見えます。



更新#2







FrapsからBMP PNGを追加しました。 どこかで、私は同意します:MLAAの場合はできないので、ゲームから直接FXAAの結果を含むスクリーンショットを取得することは不可能だと思いましたが、 これは、表示された後のドライバーによるフレームの後処理ではなく、インジェクションによる直接的な画像です。



All Articles