PDA

View Full Version : アンチエイリアスをかけたい。(画面を滑らかに表示したい)



tarugi
05-18-2014, 12:28 AM
今はFF11も、ディスプレイが対応する解像度まで選択できるようになった。
しかし、輪郭のギザギザや遠方のちらつきは、残されたまま……
※アンチエイリアスとは、それらを改善し、滑らかに表示する為の技術群の総称です。

テクスチャを2値で判定して切り抜いたような木の葉。
Radeon(ビデオカード)のドライバで強制的にアンチエイリアスをかけると現れる、キャラクターを構成するポリゴンの繋ぎ目が透けてしまう現象。

これらを見る限り、FF11は技術的にアンチエイリアスをかけづらい仕様なのかもしれない……
我々(誰だ? 私だ)は、諦めるしかないのだろうか……orz

しかし、しかーし!
FF14は、コンフィグでFXAAを選べるではないか!

FXAAはアンチエイリアス処理の一種で、完成後の画像から、明暗の激しい箇所を輪郭として抽出し、適切にぼかすことで、滑らかに見せる技術。(で大体あってるはず)
FF11はコンフィグから「Front Buffer/Back Buffer/Menu Buffer」それぞれの解像度を指定することができる。
ということは、Back BufferだけにFXAAをかけて、メニュー等はぼかさずに表示できるのでは……?
FXAAは軽い。今時のPCなら全然早い。

……FXAA、かけられないでしょうか?
現場の開発さんにお暇などございませんでしょうけれども……
どうか、どうか、アンチエイリアスの実装を……!




by 映像美を熱望する者より。

CheddarCheese
05-18-2014, 09:21 AM
FFXIは12年前以上前に開発・発売された古いゲームで、開発に使用されているDirectXのバージョンが古いですからね。

Ruvelya
05-23-2014, 07:48 PM
DirectXの必須環境を8.1から9Cに変えればFXAAは使用できるようになるとは思いますが
9C未満で動作させているユーザーがどれだけいるのかですよね。

今8.1で動作させているユーザーは全体の何%なんだろう?
逆に動作検証に手間とるだけで対費用効果がない気がします。

tarugi
05-24-2014, 12:37 AM
やはりDirectXのバージョンがネックですかね……
ベースが8.1のままでも、コンフィグでチェックを入れた場合にのみ、DirectX9を用いた新しいプログラムを描画パイプラインに割り込ませることはできないかなぁ。
描画結果をすぐ出力せず、一旦バッファに確保できればFXAAもかけられるはずだけど……




※費用対効果を考えちゃうと、ね。 ごく一部の人が喜ぶだけですし……

RalValiants
06-08-2014, 10:45 AM
レジストリを直接書き換えてバックバッファを大きくすると、ギザギザが軽減されてそれなりに綺麗に見えますよ。
あとMIPMAPの部分、コンフィグでONにするとレジストリ上は1になりますが、レジストリを直接書き換えて2~5あたりで、チラつきも軽減されますよ。
詳しくはぐぐってみてください。

あぁ、あとFXAA、ちゃんと効きますよ。確認しました。
NVIDIAコントロールパネル>3D設定の管理 で設定できます。

Radeonをお使いでしたら、形態学的フィルタリングにチェックでMLAA効きます。たしか。

tarugi
10-14-2014, 09:43 AM
そうですね……
でも公式で推奨できるような方法じゃないからなぁ。


あぁ、あとFXAA、ちゃんと効きますよ。確認しました。
NVIDIAコントロールパネル>3D設定の管理 で設定できます。

Radeonをお使いでしたら、形態学的フィルタリングにチェックでMLAA効きます。たしか。

文字がっ 文字がつぶれてしまうんだっ
ドライバについてくる設定項目では、バックバッファにだけ適用する方法がない……
スクリーンショットの為だけに起動するなら、いいんですけどね。

RalValiants
10-15-2014, 08:12 AM
FF11の画面って、バックバッファに描いたモノをフロントバッファに合わせてリサイズして、それにメニューバッファで描いたのを乗っけてるんだと思うんですね。
なので、文字にはAA効かせたくないなら、FXAAとかよりも、バックバッファを大きく取る方がいいかもです。
【Final Fantasy XI Config】からだと2048x2048 が最高値になるのかな。

まぁ公式推奨では無いのですが、レジストリを書き換えてバックバッファを、フロントバッファの2倍あたりにすると、
NvidiaのDSR(ディスプレイ解像度よりも高い解像度で一旦レンダリングして、それをダウンサンプリングさせる手法)に近い結果が得られると思いますよ。
ダウンサンプリングされたあとにメニューが乗っかるので、文字も潰れませんし。

DirectX7で作られた物をDirectX9以降に対応する事を願うよりも、現実的な方法かな、とは思います。